gcc 编译问题

一般情况一句话即可:

gcc -o fuck fuck.c

./fuck  

直接运行了

问题

1. 报错 ld 未找到

此时,gcc编译得分布来,并且指定特定的ld

gcc -c  1.c  //会在目录下生成一个文件 1.o

/usr/bin/ld -dynamic-linker /lib/ld-linux.so.2 /usr/lib/crt1.o /usr/lib/crti.o  /usr/lib/gcc/i486-linux-gnu/4.3/crtbegin.o -lc /usr/lib/gcc/i486-linux-gnu/4.3/crtend.o /usr/lib/crtn.o 111  //指定多个ld , 报错哪个ld未找到 就再删除那个ld 继续指定。

./111

//遇到任何问题继续 google

gcc 编译问题

时间: 2024-08-07 10:40:39

gcc 编译问题的相关文章

gcc 编译控制选项

gcc 编译控制选项前面已经讲过, gcc 的基本用法是:$ gcc [选项] [文件名]gcc 有很多编译控制选项,使得 gcc 可以根据不同的参数进行不同的编译处理,可供 gcc调用的参数大约有 100 来个,但实际使用中并不会用到这么的多选项和参数.这里只介绍一些最基本和常用的控制选项以及参数,如表 10.3 所列.表 10.3 gcc 常用选项和参数 名称 功能描述 -c 只编译不链接.编译器只是将输入的.c 等源代码文件生成.o 为后缀的目标文件,通常用于编译不包含主程序的子程序文件

GCC 编译详解 (转)

朋友用C调用lua的库,但是不能直接调用源码,必须要编译成静态链接库才可以使用,问学长说是因为要分开编译链接.这就不理解了,于是转一篇讲编译的文章学习一下,补补课… GNU CC(简称为Gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C.C++和Object C等语言编写的程序.Gcc不仅功能强大,而且可以编译如C.C++.Object C.Java.Fortran.Pascal.Modula-3和Ada等多种语言,而且Gcc又是一个交叉平台编译器,它能够在当前CPU平台上为多种

[原]高版本gcc编译哟优化可能导致问题

系统:ubuntu14.04 编译器:gcc4.8.2 问题描述:工作需要,使用libnids,所以就下了最新版本的1.24,编译安装后,发现tcp报文重组工作无法完成,具体表现为虽然通过nids_register_tcp函数注册了回调函数,但函数一直不能被执行,通过对libnids执行流程的跟踪,发现在计算checksum的时候出了问题,checksum的值一直不为零,导致libnids认为数据报损坏. 不明所以,但通过思考,觉得问题应该处在编译器上,是不是64位和32为的问题呢?源码中并没有

万年历算法的实现(C语言--gcc编译)

/** cal.c * * 现行的格里历是从儒略历演化而来的.儒略历每4年一个润年,润年366天,平年365天.* 如果从公元1年算的话,那么凡是能够被4整除的都是润年.从天文角度看,儒略历这种 * 历法是有误差的,到16世纪误差已经达到了10天.1582年,罗马教皇对儒略历进行了 * 一次校定,该年的10-5到10-14这10天被抹掉,并规定凡不能被400整除的世纪年不再 * 算为润年,校定之后的儒略历即为现行的格里历. * * 但是英国直到1752年才开始使用格里历,此时时间误差已经达到了1

使用gcc编译gdb调试

gcc 在linux系统中,默认是没有安装gcc编译器的,可以通过命令 rpm -q | grep gcc 来查看.安装命令为: yum -y install gcc 安装后,编写一个.c结尾的文件. gcc test.c 就会默认输出一个a.out的输出文件,这个输出文件就是可执行文件. 如果加上-o选项,则可以自定目标文件. gcc -o test test.c test就是它的可执行文件. 一般都默认加上-Wall 选项,可以自动提示一些出错警告的信息. gcc -Wall -o test

linux 下gcc 编译结构体问题

最近在linux 学习c语言的编程,发现好多原来在vs 上的在linux 都编译不过去,今天就遇到了一个问题就是结构体的编译的问题, 结构体大概的定义是 struct Node{ int a; int b; }; 在利用gcc 编译的时候就显示 错误:‘Node’未声明(在此函数内第一次使用), 这就让我感觉很奇怪,原来这都是可以的 后来查了资料改成这个样子就可以了 typedef struct Node{ int a; int b; }Node; 这样就编译成功了.

GCC编译uboot出现(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'错误的解决办法

/opt/arm-2010.09/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/armv4t/libgcc.a(_bswapsi2.o):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0' make: *** [u-boot] Error 1 一旦编译uboot出现上述错误,请不要慌张!解决办法官网已经给出,主要解决办法如下: vim 打开./lib_arm/eabi_com

gcc编译c语言

摘自<Linux程序设计>第四版,人民邮电出版社 c语言程序的编译与调试<<使用gcc编译,gdb调试>> 程序编译过程:词法分析-->语法分析-->中间代码生成-->代码优化-->目标代码生成gcc编译器:预处理(preprocessing)-->编译(compilation)-->汇编(assembly)-->连接(link) 文件后缀名说明:.c:c语言代码.a:由目标文件构成的库文件.C,.cc,.cpp:C++代码.h

gcc 编译过程

gcc 编译过程从 hello.c 到 hello(或 a.out)文件, 必须历经 hello.i. hello.s. hello.o,最后才得到 hello(或a.out)文件,分别对应着预处理.编译.汇编和链接 4 个步骤,整个过程如图 10.5 所示. 这 4 步大致的工作内容如下:(1) 预处理, C 编译器对各种预处理命令进行处理,包括头文件包含.宏定义的扩展.条件编译的选择等:(2) 编译,将预处理得到的源代码文件,进行"翻译转换",产生出机器语言的目标程序,得到机器语言

gcc 编译

1.Gcc编译流程 1)预处理 gcc -E hello.c -o hello.i -o指目标文件. .i文件为已经过预处理的c原始程序 2)编译 gcc -S hello.i -o hello.s 3)汇编 gcc -c hello.s -o hello.o 4)链接 gcc hello.o -o hello gcc 编译选项 -c 只是编译不链接,生成目标文件.o -S 只是编译不汇编,生成汇编代码 -E 只进行预编译,不做其他处理 -o file 把输出文件输出到file里 -I dir