Linux下GCC编译C语言

Linux下GCC编译C语言Linux 下 GCC 编译 C 语言 Linux 下 GCC 编译 C 语言 1 创建一个 C 文件 vi vimname c2 编译 name c 文件 生成可执行文件 gccname c3 执行文件 在默认情况下产生的可执行程序名为 a out a out4 通常可以通过 gcc 的 o 选项来指定自己的可执行程序名称 gcc onamename c 生成

Linux下GCC编译C语言

Linux下GCC编译C语言 1.创建一个.C文件 # vi/vim name.c 2.编译name.c文件,生成可执行文件 # gcc name.c 3.执行文件,在默认情况下产生的可执行程序名为a.out # ./a.out 4.通常可以通过gcc的“-o”选项来指定自己的可执行程序名称。 # gcc -o name name.c 生成可执行文件 name 执行: # ./name 5.使用gcc的“-c”标记来编译支持库代码(对多个文件进行编译) # gcc -c name.c 输出结果为一个名为 name.o 的文件 例子: # gcc -c name.c # gcc -c main.c 现在有了两个目标文件:name.o和main.o。它们包含能够被Linux执行的目标代码。 再一次调用GCC来执行连接阶段的工作: # gcc -o NameMain name.o main.o 执行调用:./NameMain 命令简化:GCC对如何将多个源文件编译为一个可执行程序有内置的规则。 # gcc -o NameMain name.c main.c # ./NameMain 6. 使用外部函数库 GCC常常与包含标准例程的外部软件库结合使用,几乎每一个Linux应用程序都依赖于由GNU C函数库GLIBC。 编译命令:GCC的"-lm"选项,它告诉GCC查看系统提供的数学库(libm) # gcc -o name -lm name.c 7.共享函数库与静态函数库,Linux系统上的函数库分为两种不同的类型:共享的和静态的 。 (1)静态函数库:每次当应用程序和静态连接的函数库一起编译时,任何引用的库函数中的代码都会被直接包含进最终的二进制程序。 (2)共享函数库:包含每个库函数的单一全局版本,它在所有应用程序之间共享。这一过程背后所涉及的机制相当复杂; 但主要依靠的是现代计算机的虚拟内存能力,它允许包含库函数的物理内存安全地在多个独立用户程序之间共享。 (3)使用共享函数库不仅减少了文件的容量和Linux应用程序在内存中覆盖的区域,而且它还提高了系统的安全性; 一个被许多不同程序同时调用的共享函数库很可能会驻留在内存中,以在需要使用它时被立即使用,而不是位于磁盘的交换分区中; 这有助于进一步减少一些大型Linux应用程序的装载时间。 


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212854.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午7:06
下一篇 2026年3月18日 下午7:06


相关推荐

  • tcp 之 wireshark过滤规则

    tcp 之 wireshark过滤规则nbsp 去这里看

    2025年10月2日
    5
  • python评分卡代码_python爬虫书籍豆瓣评分

    python评分卡代码_python爬虫书籍豆瓣评分信用风险计量模型可以包括跟个人信用评级,企业信用评级和国家信用评级。人信用评级有一系列评级模型组成,常见是A卡(申请评分卡)、B卡(行为模型)、C卡(催收模型)和F卡(反欺诈模型)。今天我们展示的是个人信用评级模型的开发过程,数据采用kaggle上知名的givemesomecredit数据集。一、建模流程典型的信用评分卡模型如图1-1所示。信用风险评级模型的主要开发流程如下:(1)获取数据,包括申请贷款客…

    2025年5月23日
    11
  • inputstream.read() 方法 乱码_InputStreamReader

    inputstream.read() 方法 乱码_InputStreamReadernewInputStreamReader(request.getInputStream(),“UTF-8”)引起了乱码,改为newInputStreamReader(newBufferedInputStream(request.getInputStream()))后解决了乱码问题针对这个乱码问题,在网上搜索后有以下3种情况[1]数据库表里面字符集设置错误[2]由于未加编码过滤器导致SpringMVC接收参数时造成的乱码[3]代码中涉及byte数组转换String时出现了问题一、解

    2026年4月14日
    6
  • http协议与tcp协议区别[通俗易懂]

    http协议与tcp协议区别[通俗易懂]http协议与tcp协议区别1、性质不同:http是一个简单的请求-响应协议。TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。2、连接不同:TCP连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。http通常运行在TCP之上。指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。3、功能不同:当应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,TCP则把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网

    2026年1月30日
    3
  • 【Linux编程】存储映射I/O

    【Linux编程】存储映射I/O

    2022年1月20日
    61
  • python py生成及调用pyc文件「建议收藏」

    python py生成及调用pyc文件「建议收藏」本文仅供学习交流使用,如侵立删!联系方式及demo下载见文末pythonpy文件中调用pyc文件1.生成pyc文件#目录下所有py文件生成pycimportcompileallcompileall.compile_dir(‘D:\python项目\ceshi’)#py生成pyc文件importpy_compilepy_compile.compile(‘proxy.py’)2.py文件调用pyc1.将生成的pyc文件名修改成和py文件一样(如:test_pay

    2022年6月15日
    64

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号