gccgtutorial内容摘要:
brary 连接名为 library的库文件; 连接器在标准搜索目录中寻找名字为 `‘的库文件; 搜索目录除了一些系统标准目录外 ,还包括用户以 `L‘选项指定的路径; 一般说来用这个方法找到的文件是库文件组成的归档文件 (archive file); 连接器处理归档文件的 方法是 :扫描归档文件 ,寻找某些成员 ,这些成员的符号目前已被引用 ,不过还没有被定义 .但是 ,如果连接器找到普通的目标文件 ,而不是库文件 ,就把这个目标文件按平常方式连接进来; 指定 `l‘选项和指定文件名的唯一区别是 , `l选项用 `lib’和 `.a‘把library包裹起来 ,而且搜索一些目录; lobjc 这个 l选项的特殊形式用于连接 Objective C程序; Ldir 在 `l39。 选项的搜索路径列表中添加 dir目录 机群系统并行程序调试环境 DENNET 22 GNU库(共享 amp。 静态) linux系统中可用的库都存放在 /usr/lib和 /lib目录中; 库文件名由前缀 lib和库名以及后缀组成。 共享库的后缀名由 .so和版本号组成,静态库的后缀名为 .a; 静态库: ar rsv ~/lib/ (压缩命令 , 从 .o 到 .a) 动态库: gcc fPIC shared o $HOME/lib/ 数学共享库的库名为 ,这里的标识字符为 m,版本号为 5;; XWindows库名为 ,使用 X11作为库的标识,版本为 6; 在默认情况下, Linux将 首先搜索指定库的共享版本 ,如果找不到,才会去搜索静态版本; 在 /usr/lib和 /lib目录中可以找到绝大多数的共享库。 连接时将首先搜索这两个目录。 有一些库也可能存放在特定的目录中,在/etc/( ldconfig命令); 静态库 是指编译连接时,把库文件的代码全部加入到可执行文件中,所以生成的文件较大,但运行时,就不再需要库文件了。 动态库 正好相反,在编译连接时,没有把库文件的代码加入到可执行文件中,所以生成的文件较小,但运行时,仍需要加载库文件 机群系统并行程序调试环境 DENNET 23 常用库文件 gcc编译器中引用可搜索到的目录中的库文件时,需要使用 l选项和库名; lname将首先使用 在 gcc命令行上输入 lm可以在程序中连接标准算术库,是 $ gcc o bookrecs –lm 系统中还有一些其它可用的库,常用的是 ,包含了一些简单的鼠标移动例程;在命令行中使用 lncurses选项引用。 下面的例子同时调用了数学和光标库。 $ gcc o bookrecs lm –lncurses 在引用其它目录中的库时,需要使用 ldir选项指定该目录。 该选项指定了搜索库函数时其它路径。 在下面的例子中,用户在连接 时使用了 mydir目录中的。 $ gcc o bookrecs lmydir lmyio 机群系统并行程序调试环境 DENNET 24 static 在支持动态连接 (dynamic linking)的系统上 ,阻止连接共享库; 该选项在其他系统上无效 Wl,option 把选项 option传递给连接器; 如果 option中含有逗号 ,就在逗号处分割成多个选项 机群系统并行程序调试环境 DENNET 25 目录选项 (Directory Option) 指定搜索路径 ,用于查找头文件 ,库文件 ,或编译器的某些成员 机群系统并行程序调试环境 DENNET 26 Idir 在头文件 ’includefile‟或者 ’include”file”‟的搜索路径列表中添加 dir 目录; 任何在 `I‘前面用 `I’选项指定的搜索路径只适用于 `include “file”‘这种情况。 他们不能用来搜索 `include file’包含的头文件; 如果用 `I39。 选项指定的搜索路径位于 `I39。 选项后面 ,就可以在这些路径中搜索所有的 `include39。 指令 . (一般说来 I选项就是这么用的 .) `I‘选项能够阻止当前目录 (存放当前输入文件的地方 )成为搜索`include “file”’的第一选择; `I39。 不影响使用系统标准目录 ,因此 , `I39。 和 `nostdinc39。 是不同的选项 . 机群系统并行程序调试环境 DENNET 27 Bprefix 这个选项指出在何处寻找可执行文件 ,库文件 ,以及编译器自己的数据文件 . 编译器驱动程序需要执行某些下面的子程序 : `cpp39。 , `cc139。 (或 C++的 `cc1plus39。 ), `as39。 和 `ld39。 .他把 prefix当作欲执行的程序的 前缀 ,既可以包括也可以不包括 `machine/version/39。 . 对于要运行的子程序 ,编译器驱动程序首先试着加上 `B39。 前缀 (如果存在 ).如果没有找到文件 ,或没有指定 `B39。 选项 ,编译器接着会试验两个标准前缀 `/usr/lib/gcc/39。 和 `/usr/local/lib/gcclib/39。 .如果仍然没能够找到所需文件 ,编译器就在 `PATH39。 环境变量 指定的路径中寻找没加任何前缀的文件名 . 如果有需要 ,运行时 (runtime)支持文件 `39。 也在 `B39。 前缀的搜索范围之内 . 如果这里没有找到 ,就在上面提到的两个标准前缀中寻找 ,仅此而已 .如果上述方法没有找到这个文件 ,就不连接他了 .多数 情况的多数机器上 , `39。 并非必不可少 . 你可以通过环境变量 GCC_EXEC_PREFIX获得近似的效果。 如果定义了这个变量 ,其值就和上面说的 一样用做前缀 .如果同时指定了 `B39。 选项和 GCC_EXEC_PREFIX变量 ,编译器首先使用 `B39。 选项 ,然后才尝试环境变量值 . . 机群系统并行程序调试环境 DENNET 28 警告选项 (WARNING OPTION) 针对程序结构的诊断信息 ,程序不一定有错误 ,而是存在风险 ,或者可能存在错误 机群系统并行程序调试环境 DENNET 29 fsyntaxonly 检查程序中的语法错误 ,但是不产生输出信息; w 禁止所有警告信息; Wimplicitint 警告没有指定类型的声明; Wuninitialized在初始化之前就使用自动变量; Wnoimport禁止所有关于 import的警告信息; W 对下列事件显示额外的警告信息 : 非易变自动变量 (nonvolatile automatic variable)可能在调用longjmp时发生改变 . 既可以返回值 ,也可以不返回值的函数 . (缺少结尾的函数体被看作不返回函数值 ) 表达式语句或逗号表达式的左侧没有产生作用 (side effect).如果要防止这种警告 ,应该把未使用的表达式强制转换 为 void类型 . 无符号数用 `39。 或 `=39。 和零做比较 机群系统并行程序调试环境 DENNET 30 调试选项 (DEBUGGING OPTION) 这些选项控制多种优化措施 机群系统并行程序调试环境 DENNET 31 O O1 优化 .对于大函数 ,优化编译占用稍微多的时间和相当大的内存。 不使用 `O39。 选项时 ,只有声明了 register的变量才分配使用寄存器 .编译结果比不用 `O39。 选项的 PCC要略逊一筹 .。gccgtutorial
本资源仅提供20页预览,下载后可查看全文
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。
相关推荐
gbt36201-20xx标准培训
α钛合金部分的变化 增加了低钯合金( )TA TA81 合金牌号,分别对应 ASTM标准中的 Gr16和 Gr17牌号成分。 增加了 TA11~TA27合金牌号。 本次修订标准的主要变化 α钛合金部分的变化 我院以前钛合金习惯称呼与标准的牌号对应关系 我院称呼
gehcservicechina通用电气医疗集团售后服务部
值受损 法律法规遵循 5 / GE Title or job number / 2020/11/17 风险一:开机率无保证 开机率决定因素 •定期预防性保养 •工程师水平 • 远程维修能力 • 物流能力 • 备件储备能力 • etc 6 / GE Title or job number / 2020/11/17 风险二:病人安全受威胁 潜在质量因素 • 图像质量的保证 • EHS (
g11parentmeetingcourseselection高二选课家长
F EDUCATION PRODUCES A LIST OF NON GRAD THIS LISTS ALL STUDENTS WHO HAVE NOT MET ALL THE GRAD REQUIREMENTS WHICH INCLUDE: ALL REQUIRED COURSES NOT HAVE 80 CREDITS THIS LIST COMES FROM THE MINISTRY
flash绘图基础元件帧逐帧动画渐变动画造型设计
层只有在锁定的情况下才能预览。 图层的类型 图层的操作 • Folder –图层夹( Layer Folder)相当于文件夹,用于对图层进行分类,方便管理。 图层的类型 图层的操作 ⑴ 添加(插入)一个新图层。 ⑵ 调整图层顺序。 ⑶ 改变图层状态。 • 编辑 /不可编辑; • 显示 /隐藏; • 锁定 /解锁; • 轮廓 /非轮廓。 ⑷ 设置图层属性。 ⑸ 删除图层。 5种基本操作 场景