c - 包含 C 代码和汇编代码的 C 项目

标签 c

我有一个包含 C 代码和汇编代码的示例项目 有Main.cMain.hconvert.S

在汇编代码convert.S中有如下代码:

 .global
 .section .bss
 .section .text

 .global _FIL_2ORD                 
 _FIL_2ORD:

在 convert.h 文件中:

  extern int FIL_2ORD(
     tFIL2HISTORY *history;
     tFIL2COEFF *coeff;
     int input;
  );

在 Main.c 函数内部,如果它调用 FIL_2ORD(); 那么它是否会通过 convert.h 文件中声明的汇编代码内部的函数来解析?

我的问题是汇编代码是否会被编译和链接,每当 main.c 调用该函数时,它是否会被引用和解析?

最佳答案

编译 C,汇编 ASM,并将两者链接在一起成为可执行文件。链接器在发现 C 的目标文件需要它后,将在 ASM 的目标文件中找到 FIL_2ORD()。

目标文件由 C 编译器和汇编器分别为每个源文件创建。

关于c - 包含 C 代码和汇编代码的 C 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17281565/

相关文章:

谁能给我这个程序的干输出?

c - 带有三个加数的溢出和进位标志

c++ - 如何将字符数转换为十进制数并返回或将 ASCII 'A' -'Z'/'a' -'z' 转换为字母偏移量 0 for 'A'/'a' ...?

c - 尝试将结构的内部数组设置为在 C 中初始化

c - 为什么 MATLAB 使用列优先顺序?

objective-c - 如何将 Objective-C 字符串转换为 C 字符串?

无法从字符串数组中正确读取

c - linux中模块的调试

c++ - 如何使用 Turbo C++ 编译器配置 eclipse CDT

c - 在客户端 C 中多路复用 stdin 和 socket