当前位置: 首页 > news >正文

专业门户网站开发公司龙岩正规全网品牌营销招商

专业门户网站开发公司,龙岩正规全网品牌营销招商,WordPress打开速度不稳定,通过模板做网站在linux下开发难免会用到gcc编译。GCC#xff08;GNU Compiler Collection。GNU编译器套装#xff09;#xff0c;是由 GNU 开发的编程语言编译器。它是GNU编译器套装以GPL许可证所发行的自由软件#xff0c;也是 GNU计划的关键部分。使用GCC编译程序时,编译过程能够被细分…          在linux下开发难免会用到gcc编译。GCCGNU Compiler Collection。GNU编译器套装是由 GNU 开发的编程语言编译器。它是GNU编译器套装以GPL许可证所发行的自由软件也是 GNU计划的关键部分。使用GCC编译程序时,编译过程能够被细分为四个阶段: ◆ 预处理(Pre-Processing) ◆ 编译(Compiling) ◆ 汇编(Assembling) ◆ 链接(Linking) 1、预处理 对源码文件里的文件包括(include)、预编译语句(如宏定义define等)进行分析编译选项为gcc -E *.c #define DEBUG debugint main() {char *a DEBUG;return 1; }经过上面的预处理后能够看到DEBUG被替换成了提前定义的内容 # 1 hello.c # 1 built-in # 1 command-line # 1 hello.cint main() {char *a debug;return 1; }2、编译 调用cc1进行编译使用gcc -S选项就能够生成汇编代码这个阶段依据输入文件生成以.o为后缀的目标文件。生成的汇编代码例如以下 .file hello.c.section .rodata .LC0:.string debug.text .globl main.type main, function main: .LFB0:.cfi_startprocpushq %rbp.cfi_def_cfa_offset 16.cfi_offset 6, -16movq %rsp, %rbp.cfi_def_cfa_register 6movq $.LC0, -8(%rbp)movl $1, %eaxleave.cfi_def_cfa 7, 8ret.cfi_endproc .LFE0:.size main, .-main.ident GCC: (GNU) 4.4.6 20110731 (Red Hat 4.4.6-3).section .note.GNU-stack,,progbits3、汇编  汇编过程是针对汇编语言的步骤调用as进行工作。一般来讲.S为后缀的汇编语言源码文件和汇编、.s为后缀的汇编语言文件经过预编译和汇编之后都生成以.o为后缀的目标文件。此过程生成ELF格式的目标代码使用gcc -c进行汇编 使用readelf -a hello.o能够看到具体的elf信息 ELF Header:Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class: ELF64Data: 2s complement, little endianVersion: 1 (current)OS/ABI: UNIX - System VABI Version: 0Type: REL (Relocatable file)Machine: Advanced Micro Devices X86-64Version: 0x1Entry point address: 0x0Start of program headers: 0 (bytes into file)Start of section headers: 296 (bytes into file)Flags: 0x0Size of this header: 64 (bytes)Size of program headers: 0 (bytes)Number of program headers: 0Size of section headers: 64 (bytes)Number of section headers: 13Section header string table index: 10Section Headers:[Nr] Name Type Address OffsetSize EntSize Flags Link Info Align[ 0] NULL 0000000000000000 000000000000000000000000 0000000000000000 0 0 0[ 1] .text PROGBITS 0000000000000000 000000400000000000000013 0000000000000000 AX 0 0 4[ 2] .rela.text RELA 0000000000000000 000005680000000000000018 0000000000000018 11 1 8[ 3] .data PROGBITS 0000000000000000 000000540000000000000000 0000000000000000 WA 0 0 4[ 4] .bss NOBITS 0000000000000000 000000540000000000000000 0000000000000000 WA 0 0 4[ 5] .rodata PROGBITS 0000000000000000 000000540000000000000006 0000000000000000 A 0 0 1[ 6] .comment PROGBITS 0000000000000000 0000005a000000000000002d 0000000000000001 MS 0 0 1[ 7] .note.GNU-stack PROGBITS 0000000000000000 000000870000000000000000 0000000000000000 0 0 1[ 8] .eh_frame PROGBITS 0000000000000000 000000880000000000000038 0000000000000000 A 0 0 8[ 9] .rela.eh_frame RELA 0000000000000000 000005800000000000000018 0000000000000018 11 8 8[10] .shstrtab STRTAB 0000000000000000 000000c00000000000000061 0000000000000000 0 0 1[11] .symtab SYMTAB 0000000000000000 0000046800000000000000f0 0000000000000018 12 9 8[12] .strtab STRTAB 0000000000000000 00000558000000000000000e 0000000000000000 0 0 1 Key to Flags:W (write), A (alloc), X (execute), M (merge), S (strings)I (info), L (link order), G (group), x (unknown)O (extra OS processing required) o (OS specific), p (processor specific)There are no section groups in this file.There are no program headers in this file.Relocation section .rela.text at offset 0x568 contains 1 entries:Offset Info Type Sym. Value Sym. Name Addend 000000000008 00050000000b R_X86_64_32S 0000000000000000 .rodata 0Relocation section .rela.eh_frame at offset 0x580 contains 1 entries:Offset Info Type Sym. Value Sym. Name Addend 000000000020 000200000002 R_X86_64_PC32 0000000000000000 .text 0There are no unwind sections in this file.Symbol table .symtab contains 10 entries:Num: Value Size Type Bind Vis Ndx Name0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000000 0 FILE LOCAL DEFAULT ABS hello.c2: 0000000000000000 0 SECTION LOCAL DEFAULT 1 3: 0000000000000000 0 SECTION LOCAL DEFAULT 3 4: 0000000000000000 0 SECTION LOCAL DEFAULT 4 5: 0000000000000000 0 SECTION LOCAL DEFAULT 5 6: 0000000000000000 0 SECTION LOCAL DEFAULT 7 7: 0000000000000000 0 SECTION LOCAL DEFAULT 8 8: 0000000000000000 0 SECTION LOCAL DEFAULT 6 9: 0000000000000000 19 FUNC GLOBAL DEFAULT 1 main4、链接 链接过程。生成可运行代码。链接分为两种一种是静态链接第二种是动态链接。使用静态链接的优点是依赖的动态链接库较少对动态链接库的版本号不会非常敏感具有较好的兼容性。缺点是生成的程序比較大。使用动态链接的优点是生成的程序比較小占用较少的内存。 gcc hello.o -o hello 就能够完毕最后的链接操作并生成可运行文件至于怎样生成动态库和静态库以及怎样链接动态库和静态库以后会再作介绍。 转载于:https://www.cnblogs.com/lxjshuju/p/6928091.html
http://www.zqtcl.cn/news/452922/

相关文章:

  • 手机网站拦截怎么解除网站生成软件免费制作
  • 中国房地产网站茂名住房和城乡建设厅网站
  • 做网站销售工资怎么样网页设计是哪个专业
  • 吉林省住房城乡建设厅网站首页微商城模板包含哪些
  • 优秀个人网站案例wordpress 文章格式
  • 2019年做网站装修平面设计图的制作
  • 潍坊网站建设top淘宝客网站名
  • 怎么给网站做外链网上接效果图平台
  • 电影网站建设教程下载怎么经营团购网站
  • 做网站卖什么建设银信用卡网站首页
  • 大连市城乡建设档案馆网站网上竞价采购网站建设
  • 国际物流公司网站建设浏览器正能量网站免费图片
  • 河南做外贸网站的公司怎么做家庭网站
  • 知名营销类网站互联网软件开发是什么工作
  • 做网站前新闻录入网站模板
  • 网站域名做跳转要收费吗科技信息期刊
  • 登别的网站应怎么做网站推广广告词大全集
  • 漯河城乡建设管理局网站wordpress icon class
  • 买空间哪个网站好广州多少网络科技有限公司
  • 网站的网络推广方案营销型网站建设论文
  • 苏州做网站便宜的公司哪家好门店管理系统app
  • 学校多语言网站建设网络维护网站建设培训
  • Wordpress外贸网站搭建公司建站系统的应用场景
  • 网站推广网络推广方wordpress汉语公益
  • 长沙做网站的公司有哪些宁波奉化建设局网站
  • 温岭专业自适应网站建设承德招聘信息网
  • 做公司网站的模板下载wordpress e
  • 网站建设基本知识wordpress 没有小工具
  • 北京完美建设有限公司网站酒店加盟
  • 山东网络推广网站德州市建设局质监站网站