最多的项目是做一个项目。我希望使用CPP文件并将CPP文件编译到Linux系统下的.SO文件中,以调用其他语言(例如Python)以实现其特定功能。
那么,如果要将CPP文件编译到我们想要的可执行文件中,该怎么办?
例如,我们现在有一个demo.cpp函数。我们如何编译程序并在Linux系统下运行结果?
我们可以执行以下汇编命令:
生成可执行程序演示,然后执行命令:
也就是说,我们可以执行我们的程序。
以同样的方式,如果是.c文件,则可以执行命令:
此外,在编译时,如果需要添加标头文件,则在库文件的路径时,您可以参考以下参数:
例如,假设我写了一个demo.cpp文件,则需要使用CAFFE的相关文件,该文件可以执行命令:
通常,有几个步骤:使用GCC将C文件编译到可执行文件中,可以分为四个步骤:预填充,编译,编译和连接。
1.预缩(生成.i文件)
预译员CPP编译源文件和相关的标头文件(例如实例代码中的标头文件stdio.h)预先编写到.i文件中。
执行命令:
预科术的作用:
答:处理所有“ #include”预计数
B.处理所有“ #define”指令,删除代码中的所有“ #define”,然后启动所有宏定义
C.处理所有预制指令,例如#IF #ELIF #ELSE #IFDEF #IFNODEF #ENDIF,等等。
D.删除所有评论
E.添加行号和文件名标识以在错误时提供及时信息
2.编译(生成.s文件)
编译器GCC使用预处理文件来分析,语义分析和优化来生成汇编代码文件。
执行命令:
3.汇编(生成.o文件)
汇编器将汇编代码文件转换为中间目标文件
执行命令:(注意:这是一个小写-C,而不是资本-C,我在这里踩到坑,会有异常)
4.链接(生成可执行文件)
链接LD将目标文件与所有其他目标文件(例如静态链接库,动态链接库)链接到可执行文件
执行命令:
原始:https://juejin.cn/post/7094995039742328869