我试着去编译汇编语言和C代码放在一起(不是C组装)的头文件,但不能把它做完。编译汇编代码,其中包括含C-定义
例如
文件COMMON.H
#ifndef __COMMON_H__
#define __COMMON_H__
struct tree{
tree* left;
tree* right;
void* elem;
};
void foo(int c);
#endif
文件common.S
#include "common.h"
.text
.globl foo
.ent foo
foo:
//foo implementation
.end foo
当我尝试编译此:
# gcc -c common.S
common.h: Assembler messages:
common.h:5: Error: unrecognized opcode `struct tree{'
common.h:7: Error: unrecognized opcode `tree* left'
common.h:8: Error: unrecognized opcode `tree* right'
common.h:10: Error: unrecognized opcode `void* elem'
common.h:12: Error: junk at end of line, first unrecognized character is `}'
common.h:14: Error: unrecognized opcode `void foo(int c)'
任何方式拿C定义到汇编usi中ng gcc?
在此先感谢。
林不知道这是一个选项。将。#include包含在.S中的想法不是我的。我在'arch /'部分读取OS代码,并在那里包含.h文件。 – Tom
Ahh OK ..离开include并将其编译为不带头文件,然后 - 如果包含头文件,则不需要编译头文件。 –
'#GCC -c common.S'相同的输出:( – Tom