证券法第四十三条:一篇关于GCC的转载的文章 很好。。。。 - 黑客安全,软件教程,新闻资讯 - 中国黑客技...
来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 00:04:16
gcc格式
gcc [-c 编译,不连接] [-S] [-E] [-std] [-g 加入调试信息] [-pg加入剖析信息] [-Olevel]
[-W 警告设置] [-pedantic 发出所有标准C列出的警告] [-Idir 添加包含目录到搜索列表中] [-Ldir添加库目录到搜索列表中]
[-D] [-U] [-f] [-m] [-o 编译到可执行文件,并作一些优化]...
说明:
-w 关闭所有警告设置
-Wall 允许发出所有警告
-werror 把所有警告转化为错误
-v 显示编译过程中的每一步用到的命令
-ggdb 在可执行程序中包含大量的调试信息
-MM 输出一个make兼容的相关列表
-O 优化编译过的代码
-fsyntax-only 只检查语法,其他都不做
-save-temps 保存编译过程中产生的中间文件
-Q 编译器输出编译每个函数时所花的时间信息
gcc的优化选项:
-O等价于-O1,并且包含线程直接跳转和迟延堆栈这两种优化。
-O2包含了-O1的优化选项,并增加了一些额外的调整,如包含对处理器指令调度的调整。
-O3也类似
gcc的调试选项:
-g == -g2,该级别包括扩展符号表、行号、以及局部变量或外部变量。-g3除了包含-g2的信息外,还包含了源代码中定义的宏.
gcc的扩展:
数据类型,如 long long来表示64位的存储单元。
内联函数,inline关键字只是一个建议而不是指令,内联的优化由编译器分析完成。
函数和变量的属性,关键字attribute,在函数或是变量的尾部加上_attribute_((属性名))来完成。
void FunctionName() _attribute_((noreturn)); /* 不返回值 */
int int_var _attribute((aligned 16)) = 0; /* 对齐到16位 */
注释,//呵呵,这个在标准c中没有,标准c中的注释是/* */。
构造函数名称,使用_FUNCTION_就可以输出当前调用函数的名称。如
void main(void)
{
printf("%s", _FUNCTION_);
}
【title】make的使用
Makefile规则格式如下:
target : dependency [dependency [...]]
command
command
[...]
target为目标体,即make要创建的文件;dependency依赖体,必须有依赖文件,即头文件和目标文件或源文件;
警告:
每个命令的第一字符必须为制表符,不能用8个空格来代替。
Example:
1.创建一个Makefile文件,用文本编辑
2.输入下列代码
helloworld : main.o function.o function.h
gcc main.o function.o -o helloworld
main.o : main.c function.h
gcc -c main.c
function.o : function.c function.h
gcc -c function.c
all : helloworld
clean : /* 只是个动作 ,并不真的删除.o文件 */
rm *.o
3.在目录中输入make就可以得到编译的文件了。
【error | make: **No targets specified and on makefile founcd. stop | 缺少Makefile文件名的文件】
【error | make: Circular function.o
#include
#include
static char rcsid[] = "$Id$\n";
int main(void)
{
extern char **environ;
char **my_env = environ;
while (*my_env)
{
printf("%s\n", *my_env);
my_env++;
}
exit(EXIT_SUCCESS);
}
用make prn_env.c编译后,在命令行输入$ident prn_env就可以得到$Id$的信息。
用$rlog 文件名就可以从RCS数据库中检出该文件被修改的日志信息了。
CVS的使用:
1.使用$cvs -d dir init命令初始化cvs库。
2.设置环境变量$CVSROOT,命令export CVSROOT = dir。
3.导入目录到CVS中,先在CVSROOT下建立一个目录cdir,然后用命令cvs import [-m msg] cdir lpu2 start,执行就自动把当前目录中的文件导入到cvs/cdir下.
gcc [-c 编译,不连接] [-S] [-E] [-std] [-g 加入调试信息] [-pg加入剖析信息] [-Olevel]
[-W 警告设置] [-pedantic 发出所有标准C列出的警告] [-Idir 添加包含目录到搜索列表中] [-Ldir添加库目录到搜索列表中]
[-D] [-U] [-f] [-m] [-o 编译到可执行文件,并作一些优化]...
说明:
-w 关闭所有警告设置
-Wall 允许发出所有警告
-werror 把所有警告转化为错误
-v 显示编译过程中的每一步用到的命令
-ggdb 在可执行程序中包含大量的调试信息
-MM 输出一个make兼容的相关列表
-O 优化编译过的代码
-fsyntax-only 只检查语法,其他都不做
-save-temps 保存编译过程中产生的中间文件
-Q 编译器输出编译每个函数时所花的时间信息
gcc的优化选项:
-O等价于-O1,并且包含线程直接跳转和迟延堆栈这两种优化。
-O2包含了-O1的优化选项,并增加了一些额外的调整,如包含对处理器指令调度的调整。
-O3也类似
gcc的调试选项:
-g == -g2,该级别包括扩展符号表、行号、以及局部变量或外部变量。-g3除了包含-g2的信息外,还包含了源代码中定义的宏.
gcc的扩展:
数据类型,如 long long来表示64位的存储单元。
内联函数,inline关键字只是一个建议而不是指令,内联的优化由编译器分析完成。
函数和变量的属性,关键字attribute,在函数或是变量的尾部加上_attribute_((属性名))来完成。
void FunctionName() _attribute_((noreturn)); /* 不返回值 */
int int_var _attribute((aligned 16)) = 0; /* 对齐到16位 */
注释,//呵呵,这个在标准c中没有,标准c中的注释是/* */。
构造函数名称,使用_FUNCTION_就可以输出当前调用函数的名称。如
void main(void)
{
printf("%s", _FUNCTION_);
}
【title】make的使用
Makefile规则格式如下:
target : dependency [dependency [...]]
command
command
[...]
target为目标体,即make要创建的文件;dependency依赖体,必须有依赖文件,即头文件和目标文件或源文件;
警告:
每个命令的第一字符必须为制表符,不能用8个空格来代替。
Example:
1.创建一个Makefile文件,用文本编辑
2.输入下列代码
helloworld : main.o function.o function.h
gcc main.o function.o -o helloworld
main.o : main.c function.h
gcc -c main.c
function.o : function.c function.h
gcc -c function.c
all : helloworld
clean : /* 只是个动作 ,并不真的删除.o文件 */
rm *.o
3.在目录中输入make就可以得到编译的文件了。
【error | make: **No targets specified and on makefile founcd. stop | 缺少Makefile文件名的文件】
【error | make: Circular function.o
#include
#include
static char rcsid[] = "$Id$\n";
int main(void)
{
extern char **environ;
char **my_env = environ;
while (*my_env)
{
printf("%s\n", *my_env);
my_env++;
}
exit(EXIT_SUCCESS);
}
用make prn_env.c编译后,在命令行输入$ident prn_env就可以得到$Id$的信息。
用$rlog 文件名就可以从RCS数据库中检出该文件被修改的日志信息了。
CVS的使用:
1.使用$cvs -d dir init命令初始化cvs库。
2.设置环境变量$CVSROOT,命令export CVSROOT = dir。
3.导入目录到CVS中,先在CVSROOT下建立一个目录cdir,然后用命令cvs import [-m msg] cdir lpu2 start,执行就自动把当前目录中的文件导入到cvs/cdir下.
一篇关于GCC的转载的文章 很好。。。。 - 黑客安全,软件教程,新闻资讯 - 中国黑客技...
中国的民族主义黑客
很好的一篇文章
防止黑客入侵的安全设置技巧
中国短暂的黑客历史
一个中国黑客致中国黑客和红客的公开信!
一篇很好的关于感情的哲理文章
一篇很好的关于婆媳关系的文章
关于工作,转载的一篇文章!
转载一篇关于销售的文章
转载一篇很好的文章(MACD金融帝国)
转载一篇很好的文章(MACD金融帝国)
一篇很好的哲学文章
计算机防止黑客入侵的巧妙设置_安全防护_中国网管联盟bitsCN.com
防止黑客入侵的
黑客的主页
黑客的主页2
黑客的刑事责任
黑客入门常用的八种安全工具
黑客入门常用的八种安全工具
黑客小质的教程被中国各大大黑客网站发布 中华隐士黑客联盟论坛
十年以前 很好的一篇文章)
一篇说理逻辑很好的处女文章
很好的一篇文章,特别是很值得一看