GCC选项-Xlinker和-Wl区别
2024-08-24 05:49:49
写下给自己备忘,在一次使用GCC的过程中发现了原来传递给链接器ld可以同时使用Xlinker和Wl两种命令,这两个命令都可以正确传递给ld作为使用,现在总结下两者的区别。
Xlinker后面跟的参数第一个是空格,而Wl后面跟的第一个字符是","。
对于传递“-assert definitions”命令给ld来说,Xlinker要一下子传递两个参数需要写两次“Xlinker”,比如-Xlinker -assert -Xlinker defintions而不能一下子写成-Xlinker "-assert definitions"因为链接器会认为这是一个参数,而不是两个参数。如果此时你用的是GNU的linker,通常更简便的做法就是用option=value的方式,比如-Xlinker -Map -Xlinker output.mp可以简写成-Xlinker -Map=output.map。而对于Wl来说,因为他的参数分割是用“,”这样可以不用像Xlinker一样一下子写多个,只需要写多个逗号即可,就拿这个例子来说,可以写成-Wl,-Map,output.map当然了,如果你用的是GNU的linker你也可以-Wl,-Map=output.map。
所以对于rpath来说使用Xlinker可以写成-Xlinker -rpath -Xlinker <dir>(-Xlinker -rpath=<dir>),对于Wl来说可以写成-Wl,rpath,<dir>(-Wl,rpath=<dir>)。
最新文章
- java Io缓冲区复制文件
- iOS的UIDevice,NSBundle,NSLocale
- Qt Focus事件,FocusInEvent()与FocusOutEvent()
- 滤镜模糊效果,利用了文字阴影和透明。其实是抄的iSlider官网的
- Linux中文件描述符fd和文件指针flip的理解
- HDU 4876 ZCC loves cards(暴力剪枝)
- Codeforces Gym 100637A A. Nano alarm-clocks 前缀和
- Installing node-oracledb on Microsoft Windows
- 如何书写优雅、漂亮的SQL脚本?
- java socket编程中backlog的含义(zz)
- Oracle 11G 安装文档
- iOS开发尺寸记录
- / | \ # $ ^ &; *这些符号怎么读
- Nginx https证书部署
- 抓取错误之onerror
- AI-人工智能-参考文档
- 一条慢SQL引发的血案
- CSDN强制登录的解决办法
- 1021. Deepest Root (25)——DFS+并查集
- Python函数之返回值、作用域和局部变量