程序的编译和链接
发布时间:2023-02-14 22:38:25 280
相关标签: # webkit# linux
程序的编译、链接
在多道程序环境下,程序处理过程:
- 编译:由编译程序将用户源程序编译成若干个目标模块。
- 链接:由链接程序将目标模块和相应的库函数链接成装入模块。
- 装入:由装入程序将装入模块装入内存。
GCC编译
检查GCC的安装, 输入 gcc -v
可查看当前版本。
- 新建文件
main.c
- 编译->生成可执行文件:
gcc main.c
- 运行(linux):
./a.out
,运行(cygwin/Windows):a.exe
在后台运行
编译时可以指定编译后的文件名
gcc -o hello main.c
生成的不是a.out 而是 hello
运行: ./hello
链接
根据链接的时间不同可以分成3种。
- 静态链接方式
- 装入时动态链接
- 运行时动态链接
使用头文件如下:
1、dlopen()
打开一个动态链接库。
系统调用格式:
2、dlsym()
根据动态链接库操作句柄与符号,返回符号对应的地址。
系统调用格式:
3、dlclose()
关闭指定的动态链接库。
系统调用格式:
按装入时物理地址的确定时机不同而分成3种:
- 绝对装入方式
- 可重定位装入方式
- 动态运行时装入方式
文章来源: https://blog.51cto.com/u_15910817/6040384
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报