- 浏览: 1478236 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
http://wenku.baidu.com/view/c77d0ad5b9f3f90f76c61b78.html
这篇文章跟我写 无关
读《linux高级程序设计》
1.gcc -c message.c
gcc -c main.c
gcc -o goodbye main.o message.o
或者
2.gcc -o goodbye main.c message.c
共享库:共享函数库包含每个库例程的单一全局版本,它在所有应用程序之间共享,这一个过程背后所涉及的机制详单复杂,但主要依靠的是现代计算机的虚拟内存能力,他允许包含库例程的屋里内存安全地在多个独立用户程序之间共享
“位置无关”,他可以在任意内存位置被装在并仍然可以执行
★★★★★★★★★★★★★★★★★
gcc -fPIC -c message
"PIC" 命令行标记告诉GCC 产生的代码不要包含对函数和变量具体内存位置的引用,
gcc -shared -o libmessage.so message.o
gcc -o goodbye -lmessage -L. main.c
或
gcc -c main.c
gcc -o goodbye -lmessage -L. main.o
-c告诉gcc驱动程序调用它内部的c编译器并将其输出传递给外部的gnu汇编器,输出结果为.o的文件,它包含适合链接到一个较大程序的已编译目标代码
gcc选项:
1.一般选项 -c -s
2.语言选项
-ansi
-std
-fno-builtin
3.警告级别
-pedantic pedantic-errors
-Wformat
-Wall
4.调试
-g
5.优化
-o1 -o2 -o3
6.硬件选项
-marh
-msoft-float
-mbig-endian
-mlittle-endian
-mabi
man gcc
info gcc
加调试信息
gcc -g -o hello -Wall -pedantic-errors hello.c
objdump -x -d -S hello
这篇文章跟我写 无关
读《linux高级程序设计》
[root@localhost ctest]# cat message.c #include <stdio.h> void goodbye_world(void){ printf("good by world\n"); } [root@localhost ctest]#
[root@localhost ctest]# cat main.c #include <stdlib.h> void goodbye_world(void); int main(int argc,char **argv){ goodbye_world(); exit(0); } [root@localhost ctest]#
1.gcc -c message.c
gcc -c main.c
gcc -o goodbye main.o message.o
或者
2.gcc -o goodbye main.c message.c
共享库:共享函数库包含每个库例程的单一全局版本,它在所有应用程序之间共享,这一个过程背后所涉及的机制详单复杂,但主要依靠的是现代计算机的虚拟内存能力,他允许包含库例程的屋里内存安全地在多个独立用户程序之间共享
“位置无关”,他可以在任意内存位置被装在并仍然可以执行
★★★★★★★★★★★★★★★★★
gcc -fPIC -c message
"PIC" 命令行标记告诉GCC 产生的代码不要包含对函数和变量具体内存位置的引用,
gcc -shared -o libmessage.so message.o
gcc -o goodbye -lmessage -L. main.c
或
gcc -c main.c
gcc -o goodbye -lmessage -L. main.o
[root@localhost ctest]# ls goodbye libmessage.so main.c main.o message.c message.o [root@localhost ctest]# ldd goodbye linux-gate.so.1 => (0x00975000) libmessage.so => not found libc.so.6 => /lib/libc.so.6 (0x4cfdf000) /lib/ld-linux.so.2 (0x4cfba000) [root@localhost ctest]#
-c告诉gcc驱动程序调用它内部的c编译器并将其输出传递给外部的gnu汇编器,输出结果为.o的文件,它包含适合链接到一个较大程序的已编译目标代码
gcc选项:
1.一般选项 -c -s
2.语言选项
-ansi
-std
-fno-builtin
3.警告级别
-pedantic pedantic-errors
-Wformat
-Wall
4.调试
-g
5.优化
-o1 -o2 -o3
6.硬件选项
-marh
-msoft-float
-mbig-endian
-mlittle-endian
-mabi
man gcc
info gcc
加调试信息
gcc -g -o hello -Wall -pedantic-errors hello.c
objdump -x -d -S hello
发表评论
-
weak_ptr解决循环引用问题
2021-03-08 21:12 1175C++11引入的三种智能指 ... -
gcc链接顺序
2019-10-12 18:25 634代码在 https://github.com/killinux ... -
xl2tp 备份
2019-09-24 16:25 6952019年9月24日更新: 注意,需要开启firewall ... -
c++11的function和bind
2019-09-10 16:12 534参考:https://www.cnblogs.co ... -
sdl笔记
2019-01-31 17:19 733sdl教程教程 https://github.com/Twin ... -
tinyemu
2019-01-24 17:59 1433参考https://bellard.org/jslinux/t ... -
aws搭建xl2tp给iphone使用
2018-12-26 21:37 18922019年12月26日 可以参考原来的配置 https:// ... -
consul的基本使用
2017-06-27 11:13 1402### 安装 [centos7上consul的安装](ht ... -
lvs的helloworld
2017-06-13 20:36 597###################lvs######### ... -
系统调用的helloworld
2017-05-04 16:14 635《2.6内核标准教程》 p293 #include < ... -
bitcoin和cgminer的安装
2017-04-05 22:45 1959参考 http://blog.csdn.net/rion_ch ... -
ceph安装和常用命令
2017-03-21 21:55 954/etc/hosts ssh-keygen ssh-copy- ... -
mobile terminal 笔记
2016-12-02 15:35 627找出旧的iphone4 越狱之后可以变个小操作系统 mobi ... -
socket基础和select(python)
2016-06-14 17:21 1803上接 c语言的socket基础ht ... -
socket基础(c语言)
2016-06-14 16:45 996不使用select 普通的基础socket连接,对多个客户端的 ... -
ffmpeg+nginx 的直播(2,直播摄像头和麦克风)
2016-05-28 20:21 4362假设我的服务器是centos7 192.168.139.117 ... -
ffmpeg+nginx 的直播(1,直播播放的视频文件)
2016-05-26 17:11 659664位操作系统centos7 ############ 1.一 ... -
socat和netcat(nc)
2016-04-29 22:36 1746转 原文链接: http://www.wenquan.name ... -
neutron基础九(qemu nat网络)
2016-02-06 17:21 1622接上基础八,kvm透传nested忽略 1.在主机ce ... -
neutron基础八(qemu 桥接网络)
2016-02-06 13:13 1544qemu的桥接和nat的qemu启动命令是一样的,但是后续的脚 ...
相关推荐
### gcc交叉编译工具基础知识 #### 一、GCC与交叉编译概述 GCC(GNU Compiler Collection)是一款由GNU项目开发的开源编译器套件,它不仅支持多种编程语言(如C、C++等),还提供了强大的交叉编译功能。在嵌入式...
### GCC算法基础 1. **定义与原理**:GCC是基于经典互相关函数的一种扩展,它可以捕捉非线性、非高斯噪声下的相位关系。GCC通过计算两个信号的傅里叶变换的乘积再进行逆傅里叶变换来得到,这使得GCC能够有效处理非...
总的来说,GCC 11.2离线安装包的使用涉及编译器基础、软件工程实践、以及对操作系统和编程语言的理解。正确安装和使用GCC 11.2,可以帮助开发者充分利用其新特性和优化,提高代码质量和执行效率。
1. 支持多种编程语言:除了基础的C和C++,还支持Objective-C、Fortran、Ada和Go等多种语言。 2. 高级优化:GCC 4.8.5包含一系列优化选项,如-O2和-O3,能对代码进行更深层次的优化,提升程序运行效率。 3. 支持C++11...
这是离线安装的基础,确保在有网络的环境中完成此步骤。 2. **创建编译工作目录**:在目标CentOS 6.5机器上,创建一个目录,比如`/usr/local/src`,并将其作为安装过程的工作目录。 3. **解压源代码**:将下载的`...
标题中的“centos7镜像 gcc4.8.5.rar”指的是一个包含了CentOS 7操作系统的镜像文件,其中提取出了GCC(GNU Compiler Collection)的4.8.5版本。GCC是一个开源的编译器套件,它支持多种编程语言,如C、C++、Fortran...
在Linux系统中,GCC扮演着至关重要的角色,是开发和构建软件的基础工具。 这个"gcc的rpm包全套"包含了GCC 4.4.7版本的所有相关组件,RPM(Red Hat Package Manager)是Linux发行版如Fedora、CentOS等常用的软件包...
### GCC编译器基础 GCC(GNU Compiler Collection)是一套由GNU项目开发的编译器集合,最初由Richard Stallman于1985年开始编写,旨在为自由软件运动提供一个强大的编译环境。GCC支持多种编程语言,包括C、C++、...
**编译器基础** 编译器是将高级编程语言转换为机器可执行代码的软件。GCC作为一款强大的编译器,它的主要任务是将源代码(如.c或.cpp文件)转换成目标代码(.o文件),然后通过链接器将这些目标代码连接起来,形成...
GCC在软件开发领域扮演着至关重要的角色,因为它是许多开源操作系统如Linux和各种嵌入式系统的基础。 **GCC的编译过程** GCC的编译过程分为几个主要阶段:预处理、编译、汇编和链接。预处理阶段处理宏定义、条件...
在Linux环境中,GCC(GNU Compiler Collection)和C++是开发者常用到的重要工具。GCC是一个开源的编译器集合,主要用于C、C++、Fortran、Objective-C等多种编程语言的编译,而C++是C语言的扩展,提供面向对象编程...
在Linux系统中,GCC是开发人员的基础工具,用于构建各种应用程序和系统软件。 在描述中提到的"gcc、gcc-c++4.4.7-23"是GCC的一个特定版本,发布于2012年,适用于需要兼容旧版库或系统的环境。这个版本可能不包含...
1. **预处理**:确保系统已经安装了必要的基础工具,如`bash`、`make`、`gdb`等。这些工具通常在AIX的系统管理工具包中。 2. **配置**:进入GCC源代码目录,运行配置脚本来适应AIX7.1的环境。例如: ```bash cd ...
GCC在IT领域中扮演着至关重要的角色,是Linux和许多其他开源操作系统的基础组成部分。 GCC教程通常会涵盖以下几个关键部分: 1. **安装与配置**:首先,你需要了解如何在不同的操作系统上安装GCC,如在Ubuntu、...
### GCC内联汇编基础知识点概述 #### 一、内联汇编概念及优势 - **内联汇编**:一种允许程序员在高级语言(如C/C++)中直接嵌入汇编代码的技术,通常用于优化性能关键部分或实现特定硬件功能。 - **内联函数与内联...
2. **安装基础依赖**:GCC的构建需要一些基础包,如开发工具集、libmpc、libmpfr和libgmp。可以使用以下命令安装: ``` sudo yum groupinstall -y "Development Tools" sudo yum install -y mpfr-devel libmpc-...
该书不仅涵盖了GCC的基础知识,还深入探讨了其高级功能。 #### 二、GCC的主要特点 GCC作为一个强大的编译器工具集,具备以下几个显著的特点: 1. **跨平台支持**:GCC能够在多种操作系统上运行,包括但不限于...
这些库提供了高级数学运算和浮点计算的精确支持,是编译器的基础组件。 6. **调试信息**:GCC 11.3.0可能改进了调试信息的生成,使得开发者使用GDB等调试工具时能够获得更准确、更详尽的信息,帮助定位和解决问题。...
在CentOS 7.9操作系统中,安装GCC(GNU Compiler Collection)和GCC-C++是进行C和C++编程的基础。GCC是一套集成了C、C++、Fortran、Objective-C等语言编译器的工具集合,而GCC-C++则专注于C++的编译。在离线环境下...
总的来说,“AVR-GCC.rar_avr-gcc软件”提供的中文文档将引导读者从零开始,一步步学习AVR-GCC的安装、配置、使用、编程技巧和项目实践,为AVR微控制器的开发打下坚实的基础。对于想要深入理解和应用AVR-GCC的开发者...