资源描述:
《机群系统并行程序调试环境》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、GCC/G++TutorialC/C++Preprocessing,Compiling,Assembly&Linkinghttp://blog.csdn.net/kendiv/archive/2004/12/28/231711.aspx吴茂瑛ricket@sjtu.edu.cn2007年06月07日1机群系统并行程序调试环境DENNETWhatisGCCGNUCompilerCollector支持多种高级语言c,c++,fortran,java,ada支持多种处理器(alpha,arm,avr,IA-64,int
2、el386,AMD,mips,mmix,powerpc,sparc,pdp-11…)2机群系统并行程序调试环境DENNETIncludesyntax头文件中包含函数与变量的声明#include#include“headfile.h”源文件首先会生成(COMPILE)中间目标文件,再由中间目标文件连接(LINK)生成执行文件在编译时,编译器只检测程序语法,和函数、变量是否被声明。如果函数未被声明,编译器会给出一个警告,但可以生成ObjectFile3机群系统并行程序调试环境DENNET总览(
3、SYNOPSIS)gcc[option
4、filename]...认为预处理后的文件(.i)是C文件,并且设定C形式的连接.g++[option
5、filename]...认为预处理后的文件(.i)是C++文件,并且设定C++形式的连接.4机群系统并行程序调试环境DENNET源文件后缀名与处理.c——C源程序;预处理,编译,汇编.C——C++源程序;预处理,编译,汇编.cc——C++源程序;预处理,编译,汇编.cxx——C++源程序;预处理,编译,汇编.m——Objective-C源程序;预处理,编译,汇编.i——预
6、处理后的C文件;编译,汇编.ii——预处理后的C++文件;编译,汇编.s——汇编语言源程序;汇编.S——汇编语言源程序;预处理,汇编.h——预处理器文件;通常不出现在命令行上5机群系统并行程序调试环境DENNETGCC使用的一些环境变量C_INCLUDE_PATH编译C程序时使用的环境变量,用于查找头文件,默认为/usr/include。CPLUS_INCLUDE_PATH编译C++程序时使用的环境变量,用于查找头文件,默认为/usr/include。OBJC_INCLUDE_PATH编译Obj-C程序时使用的环
7、境变量,用于查找头文件。CPATH编译C/C++/Obj-C程序时使用的环境变量,用于查找头文件。COMPILER_PATH如果没有用GCC_EXEC_PREFIX定位子程序,编译程序将会在此查找它的子程序。LIBRARY_PATH连接程序将在这些目录中寻找特殊的连接程序文件/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib。LD_LIBRARY_PATH该环境变量不影响编译程序,但是程序运行的时候会有影响:程序会查找该目录列表以寻找共享库。当不能够在编译程序的目录中找到
8、共享库的时候,执行程序必须设置该环境变量。LD_RUN_PATH该环境变量不影响编译程序,但是程序运行的时候会有影响:它在运行时指出了文件的名字,运行的程序可以由此得到它的符号名字和地址。由于地址不会重新载入,因而可能符号应用其他文件中的绝对地址。这个和ld工具使用的"-R"选项完全一样。GCC_EXEC_PREFIX编译程序执行所有子程序的名字的前缀,默认值是"/lib/gcc-lib/",其中的是安装时configure脚本指定的前缀。LANG指定编译程序使用的字符集,可用
9、于创建宽字符文件、串文字、注释;默认为英文。[目前只支持日文"C-JIS,C-SJIS,C-EUCJP",不支持中文]LC_ALL指定多字节字符的字符分类,主要用于确定字符串的字符边界以及编译程序使用何种语言发出诊断消息;默认设置与LANG相同。中文相关的几项:"zh_CN.GB2312,zh_CN.GB18030,zh_CN.GBK,zh_CN.UTF-8,zh_TW.BIG5"TMPDIR编译程序存放临时工作文件的临时目录,这些临时文件通常在编译结束时被删除。6机群系统并行程序调试环境DENNET选项(OPT
10、IONS)总体选项(OverallOption)-c-S-E-ofile-pipe-v-xlanguage语言选项(LanguageOption)-ansi-fall-virtual-fcond-mismatch-fdollars-in-identifiers-fenum-int-equiv-fexternal-templates-fno-asm-fno-builtin-