全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解 linux c++的编译器g++的基本使用

linux c++的编译器g++基本使用

g++是 linux下c++的编译器,在执行编译工作的时候,总共需要4步

1.预处理,生成.i的文件
2.将预处理后的文件不转换成汇编语言,生成文件.s
3.有汇编变为目标代码(机器代码)生成.o的文件
4.连接目标代码,生成可执行程序

g++ 编译c++经常使用的参数:

-c

只编译,不连接。例如: g++ -c helloworld.cpp

只生成helloworld.o不连接

-o

指定输出文件名。例如:g++ -c helloworld.cpp -o abc.o
默认是生成helloworld.o,用-o abc.o以后,就生成的是abc.o

-I

附加一个包函头文件的路径。例如:g++ helloworld.cpp -I"/usr/helloworld/include"

-l

小的L, 附一个库,例如要使用libabc.so 就g++ helloworld.cpp -labc

-L

添加一个库的路径,例如 g++ hello.cpp -L"/usr/hello/lib" -labc

-shared

生成动态库文件,例如: g++ -shared hellp.cpp -o libhello.so

        调用动态库的时候有几个问题会经常碰到,有时,明明已经将库的头文件所在目录通过include进来了,库所在文件通过 “-L”参数引导,并指定了“-l”的库名,但通过ldd命令察看时,就是死活找不到你指定链接的so文件。其实编译链接上了共享库不代表执行时可以找到。所以“-L”什么的对执行没有用,你需要指明共享库的路径。方法有三个:

        a.修改 LD_LIBRARY_PATH,指明共享库的路径。LD_LIBRARY_PATH:这个环境变量指示动态连接器可以装载动态库的路径。在终端下使用如下命令:

[root@localhost sharelib]# export LD_LIBRARY_PATH = .
[root@localhost sharelib]# export LD_LIBRARY_PATH = your lib dir export

       b.通过/etc/ld.so.conf文件来指定动态库的目录。然后运行ldconfig命令更新搜索共享库的路径。通常这个做法就可以解决库无法链接的问题并且一劳永逸。

       c.或者把库文件拷贝到/lib下,然后ldconfig就ok了。这个方法有的取巧,且破坏原库文件的纯洁性,不应是首选方法。 

        修改/etc/ld.so.conf文件,然后调用 /sbin/ldconfig需要有root权限,如果没有root权限,那么只能采用输出LD_LIBRARY_PATH的方法了。

linux下文件的类型是不依赖于其后缀名的,但一般来讲:

.o,是目标文件,相当于windows中的.obj文件
.so 为共享库,是shared object,用于动态连接的,和dll差不多
.a为静态库,是好多个.o合在一起,用于静态连接
.la为libtool自动生成的一些共享库,主要记录了一些配置信息。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# linux  # c++的编译器g++  # c++的编译器g++的使用方法  # c++的编译器g++使用详解  # 在Linux系统下如何编译并执行C++程序  # Linux/Manjaro如何配置Vscode的C/C++编译环境  # 解析Linux下C++编译和链接  # Linux配置C++11编译环境的方法  # Linux环境使用g++编译C++方法总结  # 在Linux下编译C或C++程序的教程  # Linux下如何编译和执行c/c++程序  # 的是  # 头文件  # 多个  # 上了  # 找不到  # 不代表  # 希望能  # 如果没有  # 有几个  # 汇编语言  # 谢谢大家  # 应是  # 于其  # 可以找到  # 进来了  # 要使  # 可执行  # 自动生成  # 就可以  # 不转 


相关文章: 如何在建站主机中优化服务器配置?  如何批量查询域名的建站时间记录?  如何确保FTP站点访问权限与数据传输安全?  焦点电影公司作品,电影焦点结局是什么?  建站主机选购指南:核心配置优化与品牌推荐方案  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  免费ppt制作网站,有没有值得推荐的免费PPT网站?  高防服务器租用如何选择配置与防御等级?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  网站制作培训多少钱一个月,网站优化seo培训课程有哪些?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  南京网站制作费用,南京远驱官方网站?  如何通过VPS搭建网站快速盈利?  文字头像制作网站推荐软件,醒图能自动配文字吗?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  简单实现Android验证码  建站主机是什么?如何选择适合的建站主机?  如何在万网开始建站?分步指南解析  如何用PHP快速搭建CMS系统?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何用腾讯建站主机快速创建免费网站?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  如何在宝塔面板中创建新站点?  C++如何编写函数模板?(泛型编程入门)  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何确认建站备案号应放置的具体位置?  建站为何优先选择香港服务器?  ,sp开头的版面叫什么?  如何选购建站域名与空间?自助平台全解析  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  Swift中循环语句中的转移语句 break 和 continue  如何选择PHP开源工具快速搭建网站?  建站之星导航如何优化提升用户体验?  如何在Tomcat中配置并部署网站项目?  如何在云指建站中生成FTP站点?  教学论文网站制作软件有哪些,写论文用什么软件 ?  一键网站制作软件,义乌购一件代发流程?  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何规划企业建站流程的关键步骤?  建站之星后台密码遗忘如何找回?  网站制作需要会哪些技术,建立一个网站要花费多少?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  建站之星如何一键生成手机站?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  宝华建站服务条款解析:五站合一功能与SEO优化设置指南  建站DNS解析失败?如何正确配置域名服务器? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。