关于CC++编程答疑解惑.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C/C++编程答疑解惑 1.C/C++编程 1.1: A 论坛的精华区也有讨论,许多可以直接解决你的问题,GOOGLE查找,并看看精华区。 如果已找了GOOGLE并看了精华区,但是对某些方面不理解,那么就在论坛上发问。发问时标题要清楚,并把你的问题描述清楚。许多人不会看你帖子的内容,所以在标题中写清楚问题也是很重要的。 如果要粘贴代码,那么使用发言功能中的CODE功能,这样可以保证代码不会乱,能有更多人看懂你代码。 当别人准确回答了你的问题时,应该说声谢谢,表示这个问题已回答,并表示对帮助你的人的感谢。这样会让更多的人觉得你的一个好学有礼貌的人,从而会更注意你的问题。 如果你按上面这些方法做了,并不能保证你的发言一定能回答,因为不是每个人什么问题都知道,但可以保证会有更多人关注你的问题,回答的可能性会更高。 1.2:STL string 怎么转换大小写 A:使用STL算法中的transform 函数 代码: ? ?string str22 = This IS a MiXed CaSE stRINg; ? ?transform (str22.begin(),str22.end(), str22.begin(), tolower); 1.3: 怎样生成动态库 A:创建步骤: 首先创建object文件,这个文件将加入通过gcc –fPIC 参数命令加入到共享函数库里面。PIC的意思是“位置无关代码”(Position Independent Code)。下面是一个标准的格式: 代码: gcc -shared -Wl,-soname,your_soname -o library_name file_list library_list 下面再给一个例子,它创建两个object文件(a.o和b.o),然后创建一个包含a.o和b.o的共享函数库。例子中”-g”和“-Wall”参数不是必须的。 代码: gcc -fPIC -g -c -Wall a.c gcc -fPIC -g -c -Wall b.c gcc -shared -Wl,-soname,liblusterstuff.so.1 -o liblusterstuff.so.1.0.1 a.o b.o -lc 下面是一些需要注意的地方: · 不用使用-fomit-frame-pointer这个编译参数除非你不得不这样。虽然使用了这个参数获得的函数库仍然可以使用,但是这使得调试程序几乎没有用,无法跟踪调试。 · 使用-fPIC来产生代码。 使用shared 说明生成动态库,使用soname说明生成的库名 · 某些情况下,使用gcc 来生成object文件,需要使用“-Wl,-export-dynamic”这个选项参数。通常,动态函数库的符号表里面包含了这些动态的对象的符号。这个选项在创建ELF格式的文件时候,会将所有的符号加入到动态符号表中。可以参考ld的帮助获得更详细的说明。 star3s补充: 对于C++程序要使用EXTERN “C”说明输出接口 代码: ? ?extern C ? ?{ ? ?? int soTest(int a,int b) ; ? ?} ? ?int soTest(int a,int b) ? ?{ ? ?? return a+b; ? ?} 1.4:怎样指定程序链接某个库的动态库或静态库版本 A:使用Bdynamic和-Bstatic选项。默认情况下,假如共享库可用,连接器会使用共享库。但是-Bdynamic和-Bstatic提供了很好控制库的方法。它们可以决定用共享库还是用静态库。 传-Bdynamic和-Bstatic选项给连接器,如下操作: # gcc -o main main.o -Wl,-Bstatic \ -lfoo -Wl,-Bdynamic -lbar # gcc -o main main.o -Wl,-Bstatic 告诉连接器所有的库(象libc等等)都使用静态的版本。 1.5: 请问各UNIX平台下和编译器名 kaisakaisa : sun CC (c++) cc(c) alpha cxx(c++) cc(c) HP aCC(c++) IBM xlC (c++) 1.6: solaris下有没有C函数可以获得进程的相关信息 比如:进程名、进程pid、进程所占CPU/Memory、开始时间、运行状态等等。谢谢。 liupch:2003-03-19 10:03 读取/proc/进程号/psinfo这个文件。 就用我告诉你的那个函数 ioctl(fd, PIOCPSINFO, procinfo); 在看一下pr

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8016031115000003

1亿VIP精品文档

相关文档