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

配置asp网站个人网页制作模板免费

配置asp网站,个人网页制作模板免费,网站上传文件 ftp,网络舆情的特点目录 Linux下的编辑器 介绍#xff1a; 1#xff0c;编辑器gcc/g 1-1#xff0c;系统的编译过程 1-2#xff0c;预处理过程 1-3#xff0c;编译过程 1-4#xff0c;汇编过程 1-5#xff0c;链接过程 Linux下的编辑器 介绍#xff1a; Linux系统下可支持很多高…目录 Linux下的编辑器 介绍 1编辑器gcc/g 1-1系统的编译过程 1-2预处理过程 1-3编译过程 1-4汇编过程 1-5链接过程 Linux下的编辑器 介绍 Linux系统下可支持很多高级语言的编辑不同的编辑工具对应不同的语言。本章我们重点介绍C语言的编辑器 gcc 和C的编辑器 g其中g也可编辑C语言的文本但gcc不可编辑C的文本。 1编辑器gcc/g 我们都知道文件的编译过程需要经过预处理、编译、汇编、链接过程直接 gcc [文件] 将会直接一次性执行完编辑文本的过程形成可执行文件。 上图中我们形成的可执行文件是系统默认命名的使用 gcc code.c -o code.exe 或 gcc -o code.exe code.c 都将可执行文件命名为code.exe即凡是跟在 -o 选项后面的名称都是可执行文件的命名。 1-1系统的编译过程 众所周知计算机的语言发展先是从二进制语言到汇编语言然后不断发展有了许多的高级语言因此高级语言在计算机内部执行时需要将其翻译成汇编语言然后从汇编语言翻译成二进制语言因为发展过程都是要先有语言然后才有了编译器。 当对文本进行编辑工作时首先在预处理过程中系统会将头文件展开(本质是将头文件内容拷贝至源文件)、去掉文本中的注释、进行宏的替换、条件编译等。下一步进入编译工作时系统会将高级语言编译成汇编语言然后进入汇编阶段中系统将汇编语言编译成二进制文件此二进制文件称为 “可重定位目标二进制文件” 注意此时的二进制文件是不可执行的。因为此时的二进制文件还没有与高级语言中特定的库文件形成关联即没有联系而链接过程就是使用标准库文件将形成的二进制文件与高级语言标准库文件中的代码形成关联使系统能够识别其中代码的功能。 库文件 库文件是预先编译好的函数功能的集合可以将用户写好的程序打包成一个整体当其他模块或用户使用时只需要这个库文件即可不需要源代码文件。其中库文件主要分为静态库和动态库程序在使用库时使用静态链接或动态链接进行静态库或动态库的关联。Linux中静态库文件以 .a 后缀名动态库文件以 .so 后缀名Windows中静态库文件以 .lib 为后缀名动态库文件以 .dll 为后缀名。 静态库的特点是程序在编译连接的过程当中编译器从库文件中取得所需代码复制到生成的可执行文件中。因此静态库是程序在链接阶段被复制到程序当中和程序的执行过程没有关系。 动态库也称为共享库的特点是在程序运行时由系统动态加载到内存中程序在使用时直接关联。因此动态库可以被多个程序共享同时只占用一份内存空间提高了内存的使用效率。 我们可使用 ldd 指令来观察可执行文件所依赖的库文件。 [zhuzhujunhao ~]$ ldd code   查看C语言中可执行文件code所依赖的库文件     linux-vdso.so.1  (0x00007ffd9b12a000)     libc.so.6 /lib64/libc.so.6 (0x00007fde6069b000)  code依赖动态库/lib64/libc.so.6     /lib64/ld-linux-x86-64.so.2 (0x00007fde60a69000) /lib64/libc.so.6这个文件就是C语言标准动态库标准静态库是/lib64/libc.a因此在Linux中我们可直接使用C语言。其它语言也同理平台要支持一种语言的开发就必须要提前在系统中安装这种语言的标准头文件和库文件。 1-2预处理过程 当我们只想要查看预处理生成的内容时使用 gcc -E [目标文件] 可在直接显示预处理处理后生成的数据使用 gcc -E [目标文件] -o [文件] 这里选项不分前后顺序会将源文件处理后的数据放入 [文件] 中。当不存在 [文件] 时系统会自动创建此文件。这里的 -E 表示系统将预编译过程处理完后停止。 [zhuzhujunhao ~]$ gcc -E code.c -o code.i   将 code.c 文件经预处理后生成的数据放入 code.i 中 [zhuzhujunhao ~]$ ll total 36 -rw-rw-r-- 1 zhu zhu    89 Dec  6 08:46 code.c -rw-rw-r-- 1 zhu zhu 25606 Dec  6 08:47 code.i -rw-rw-r-- 1 zhu zhu   827 Dec  5 14:52 install.sh 在预处理过程我们可使用 -D [宏名称] 自动将宏加入源文件中在预处理阶段也会将其一并处理。这里要注意这里的指令添加只是暂时将其添加再次进入文本后可观察到没有此宏。 [zhuzhujunhao ~]$ gcc code.c -DSETVECTOR1 -o code.exe [zhuzhujunhao ~]$ ./code.exe have SETVECTOR1      可发现存在此宏 预编译过程将添加的宏进行替换但在其它阶段不可因为只有在预编译过程中才处理宏 [zhuzhujunhao ~]$ gcc -E code.c -D SETVECTOR -o code.i   因此通过以上可发现我们在系统编程的过程中我们可实现自己代码和编译器指令的动态裁剪。 1-3编译过程 当我们只想要观看编译处理后的内容时需使用  -S 选项使用方法跟预处理使用的语法和方法一样即gcc -S [目标文件] -o [文件]这里选项不分前后顺序将处理完的数据放到 [文件] 中不同的是[目标文件] 可以是C语言源文件也可以是预处理后的文件。-S 表示系统将编译过程处理完后就停止。 [zhuzhujunhao ~]$ gcc -E code.c -o code.i    预处理后的文件code.i [zhuzhujunhao ~]$ gcc -S code.c -o code.s    处理C语言源文件形成文件code.s [zhuzhujunhao ~]$ gcc -S code.i -o code.s1   处理预处理的文件形成文件code.s1 此过程结束后将会形成汇编语言即系统调用汇编编译器形成汇编语言。 1-4汇编过程 只观看汇编处理后的数据对应的选项为 -c 用法一样指令为 gcc -c [目标文件] -o [文件]这里选项不分前后顺序将汇编形成的二进制数据放入 [文件] 中其中 [目标文件] 可以是C语言源文件可以是预处理后的文件可以是编译过程中形成的汇编文件。-c 表示当系统将汇编过程处理完后就停止。 [zhuzhujunhao ~]$ gcc -c code.c -o code.o  处理C语言源文件code.c [zhuzhujunhao ~]$ gcc -c code.i -o code.o   处理预处理后的文件code.i [zhuzhujunhao ~]$ gcc -c code.s -o code.o  处理编译后的汇编文件code.s 上面的形成的 code.o 文件就是二进制文件。 1-5链接过程 链接是系统处理的最后一步这里不需要任何选项直接 gcc 编译即可即 gcc [目标文件] -o [文件] 这里选项不分前后顺序这里形成的文件就是将二进制文件与标准库文件链接后的可执行文件。这里表示的是系统直接处理 [目标文件] 形成可执行文件。 [zhuzhujunhao ~]$ gcc code.o -o code    将二进制文件code.o链接 可发现这就是我们平常直接将源文件形成可执行文件的指令。即链接指令。 链接过程中系统默认使用动态链接C语言的动态库在 /lib64/libc.so.6 文件下而C的动态库在  /lib64/libstdc.so.6 文件下其中使用 -static 可在链接时改为静态链接这里要注意的是有些系统默认可能没有安装静态库。我们需要去安装静态库安装C和C的静态库指令如下 [rootzhujunhao ~]# yum install -y glibc-static libstdc-static    glibc-static 是C语言的静态库         libstdc-static是C的静态库 其中C语言安装后的静态库在 /lib64/libc.a 文件下C的静态库在 /lib64/libstdc.a 文件下。 链接过程使用静态链接指令如下 [zhuzhujunhao ~]$ gcc code.c -o code-static -static [zhuzhujunhao ~]$ ldd code-static     not a dynamic executable    查看后可发现链接的不是动态库即链接静态库 g的使用都与gcc一样注意的是系统原本没有安装 g 编译器在 CentOS 版本下安装g 相关的步骤在此链接下CentOS下的g安装
http://wiki.neutronadmin.com/news/402315/

相关文章:

  • 连山区网站建设微信上的小程序是怎么做的
  • 太空为什么要建站wordpress手机大标题
  • 网站费用预算广州网站建设推荐乐云seo
  • 西安网站建设的软件宁波企业品牌网站建设
  • 建筑焊工证查询网站官方网做网站英文
  • 福清市建设局官方网站帮人做网站在徐州被敲诈五万
  • 购物网站建设价格一览表做网站可以卖钱吗
  • 中山做网站的大公司网络营销推广是做什么的
  • 网站建设与管理专业前景久久建筑有限公司
  • 太原网站建设地图可以加速网页的加速器
  • wordpress换站网站更改备案信息吗
  • 绵阳建设局官方网站响应式布局优缺点
  • 怎么做网站不被发现it行业
  • 建设银行积分兑换商城网站百度站长对网站会有影响吗
  • 自己做的图片哪个网站可以出售小地方做外卖网站怎样
  • 怎样才能建网站免费网站空间怎么
  • 合肥专业做网站公司哪家好网站建设所用程序
  • 利津网站建设iis建站安装wordpress
  • 网站制作全包价格那个网站做创意图比较好
  • 网站做反向代理对百度收录有影响吗.net网站项目有哪些
  • 国外设计网站door开发公司质量保证体系情况说明
  • 深圳福田园岭网站建设有专门做消除网站上对公司不利的
  • 任意做别的公司网站销售产品违法吗货运配载做网站
  • 银行网站建设公司大连华南网站建设
  • 商业网站建设开发中心湖北省建设厅官方网站电话
  • flash 网站网站建设制作 优帮云
  • 建站公司互橙知乎如何做网站家具导购
  • 建设简单网站的图纸wordpress添加
  • 制作网站的软件有那个免费免费视频网站建设
  • 青岛外贸网站制作公司营销助手下载app下载