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

免费建设一个网站市场调研的重要性

免费建设一个网站,市场调研的重要性,网页版梦幻西游决战华山,wordpress喜欢功能今天学习linuxC编程。首先要熟悉linux下编写c程序的过程。 编写程序Hello World! 首先创建存放程序的文件夹#xff0c;如下图所示#xff1a; 接下来在创建一个文件夹来保存这节要编写的代码。指令#xff1a;mkdir 3.1 接下来我们要设置VIM编辑器的一些配置#xff0…今天学习linuxC编程。首先要熟悉linux下编写c程序的过程。 编写程序Hello World! 首先创建存放程序的文件夹如下图所示 接下来在创建一个文件夹来保存这节要编写的代码。指令mkdir 3.1 接下来我们要设置VIM编辑器的一些配置比如设置tab的字符数为4、以及设置VIM编辑器的行号。在文件/etc/vim/vimrc 中添加代码 set nu set ts4然后创建main.c文件。 编写程序完事后使用“gcc main.c –o main”来编译 main.c 文件使用参数“-o”来指定编译生成的可执行文件名字。 GCC编译器 gcc 命令 在上一小节我们已经使用过 GCC 编译器来编译 C 文件了我们使用到是 gcc 命令gcc 命令格式如下 gcc [选项] [文件名字] 主要选项如下 -c只编译不链接为可执行文件编译器将输入的.c 文件编译为.o 的目标文件。 -o输出文件名用来指定编译结束以后的输出文件名如果不使用这个选项的话 GCC 默 认编译出来的可执行文件名字为 a.out。 -g添加调试信息如果要使用调试工具(如 GDB)的话就必须加入此选项此选项指示编 译的时候生成调试所需的符号信息。 -O对程序进行优化编译如果使用此选项的话整个源代码在编译、链接的的时候都会进 行优化这样产生的可执行文件执行效率就高。 -O2比-O 更幅度更大的优化生成的可执行效率更高但是整个编译过程会很慢。编译流程 GCC 编译器的编译流程是预处理、编译、汇编和链接。预处理就是展开所有的头文件、替换程序中的宏、解析条件编译并添加到文件中。编译是将经过预编译处理的代码编译成汇编代码也就是我们常说的程序编译。汇编就是将汇编语言文件编译成二进制目标文件。链接就是将汇编出来的多个二进制目标文件链接在一起形成最终的可执行文件链接的时候还会涉及到静态库和动态库等问题。上一小节演示的例程都只有一个文件而且文件非常简单因此可以直接使用 gcc 命令生成可执行文件并没有先将 c 文件编译成.o 文件然后再链接在一起。 Makefile 基础 当文件有几十、上百甚至上万个的时候用终端输入 GCC 命令的方法显然是不现实的。如果我们能够编写一个文件这个文件描述了编译哪些源码文件、如何编译那就好了每次需要编译工程的时只需要使用这个文件就行了。这种问题怎么可能难倒聪明的程序员为此提出了一个解决大工程编译的工具make描述哪些文件需要编译、哪些需要重新编译的文件就叫做 MakefileMakefile 就跟脚本文件一样Makefile 里面还可以执行系统命令。使用的时候只需要一个 make命令即可完成整个工程的自动编译极大的提高了软件开发的效率。如果大家以前一直使用 IDE来编写 C 语言的话肯定没有听说过 Makefile 这个东西其实这些 IDE 是有的只不过这些 IDE对其进行了封装提供给大家的是已经经过封装后的图形界面了我们在 IDE 中添加要编译的 C 文件然后点击按钮就完成了编译。在 Linux 下用的最多的是 GCC 编译器这是个没有 UI的编译器因此 Makefile 就需要我们自己来编写了。 Makefile 语法 Makefile 规则格式 Makefile 里面是由一系列的规则组成的这些规则格式如下 目标…... : 依赖文件集合…… 命令 1 命令 2 ……main : main.o input.o calcu.ogcc -o main main.o input.o calcu.o第一行定义了一个规则它告诉make命令如何构建目标main。在这里main是一个目标通常是最终要生成的程序或文件而main.o、input.o和calcu.o是这个目标的依赖项意味着在构建main之前必须首先存在或构建这些依赖项。 目标targetmain是这条规则的目标也就是这条规则想要构建或更新的文件。 依赖dependenciesmain.o、input.o和calcu.o是目标的依赖项这意味着在尝试构建main之前make会确保所有的依赖项都是最新的。 gcc是GNU编译器集合中的C编译器用于编译C语言程序。-o main选项告诉gcc将链接生成的可执行文件命名为main。main.o、input.o和calcu.o是gcc需要链接的对象文件。这些对象文件之前已经由gcc从相应的源文件编译生成。 命令列表中的每条命令必须以 TAB 键开始不能使用空格 make 命令会为 Makefile 中的每个以 TAB 开始的命令创建一个 Shell 进程去执行。了解了 Makefile 的基本运行规则以后我们再来分析一下 3.3 节中“示例代码 3.3.2.6”中的Makefile代码如下、 上述代码中一共有 5 条规则1~2 行为第一条规则3~4 行为第二条规则5~6 行为第三条规则7~8 行为第四条规则10~12 为第五条规则make 命令在执行这个 Makefile 的时候其执行步骤如下首先更新第一条规则中的 main第一条规则的目标成为默认目标只要默认目标更新了那么就认为 Makefile 的工作。在第一次编译的时候由于 main 还不存在因此第一条规则会执行第一条规则依赖于文件 main.o、input.o 和 calcu.o 这个三个.o 文件这三个.o 文件目前还都没有因此必须先更新这三个文件。make 会查找以这三个.o 文件为目标的规则并执行。以 main.o为例发现更新 main.o 的是第二条规则因此会执行第二条规则第二条规则里面的命令为“gcc–c main.c”这行命令很熟悉了吧就是不链接编译 main.c生成 main.o其它两个.o 文件同理。最后一个规则目标是 clean它没有依赖文件因此会默认为依赖文件都是最新的所以其对应的命令不会执行当我们想要执行 clean 的话可以直接使用命令“make clean”执行以后就会删除当前目录下所有的.o 文件以及 main因此 clean 的功能就是完成工程的清理 总结一下 Make 的执行过程 1、make 命令会在当前目录下查找以 Makefile(makefile 其实也可以)命名的文件。 2、当找到 Makefile 文件以后就会按照 Makefile 中定义的规则去编译生成最终的目标文件。 3、当发现目标文件不存在或者目标所依赖的文件比目标文件新(也就是最后修改时间比目标文件晚)的话就会执行后面的命令来更新目标。 原子文档总结的很形象。具体执行的过程就如上图所示 Makefile 变量 跟 C 语言一样 Makefile 也支持变量的先看一下前面的例子 main: main.o input.o calcu.ogcc -o main main.o input.o calcu.o上述 Makefile 语句中main.o input.o 和 calcue.o 这三个依赖文件我们输入了两遍我们这个 Makefile 比较小如果 Makefile 复杂的时候这种重复输入的工作就会非常费时间而且非常容易输错为了解决这个问题Makefile 加入了变量支持。不像 C 语言中的变量有 int、char等各种类型Makefile 中的变量都是字符串类似 C 语言中的宏。使用变量将上面的代码修改修改以后如下所示 1 #Makefile 变量的使用 2 objects main.o input.o calcu.o 3 main: $(objects) 4 gcc -o main $(objects)第 1 行是注释Makefile 中可以写注释注释开头要用符号“#”不能用 C 语言中的“//”或者“/**/”第 2 行我们定义了一个变量 objects并且给这个变量进行了赋值其值为字符串“main.o input.o calcu.o”第 3 和 4行使用到了变量 objectsMakefile 中变量的引用方法是“ ( 变量名 ) ”比如本例中的“ (变量名)”比如本例中的“ (变量名)”比如本例中的“(objects)”就是使用变量 objects。在“示例代码 3.4.2.1”中我们在定义变量 objects 的时候使用“”对其进行了赋值Makefile变量的赋值符还有其它两个“:”和“?”我们来看一下这三种赋值符的区别 1、赋值符“” 示例代码 3.4.2.1 赋值符使用 1 name zzk 2 curname $(name) 3 name zuozhongkai 4 5 print: 6 echo curname: $(curname)2、赋值符“:” 赋值符“:”不会使用后面定义的变量只能使用前面已经定义好的这就是“”和“:”两个的区别。 3、赋值符“?” “?”是一个很有用的赋值符比如下面这行代码 curname ? zuozhongkai上述代码的意思就是如果变量 curname 前面没有被赋值那么此变量就是“zuozhongkai” 如果前面已经赋过值了那么就使用前面赋的值。 4、变量追加“” Makefile 中的变量是字符串有时候我们需要给前面已经定义好的变量添加一些字符串进 去此时就要使用到符号“”比如如下所示代码 objects main.o input.o objects calcu.o一开始变量 objects 的值为“main.o input.o”后面我们给他追加了一个“calcu.o”因此变量 objects 变成了“main.o input.o calcu.o”这个就是变量的追加。 Makefile 模式规则 模式规则中至少在规则的目标定定义中要包涵“%”否则就是一般规则目标中的“%”表示对文件名的匹配“%”表示长度任意的非空字符串比如“%.c”就是所有的以.c 结尾的文件类似与通配符a.%.c 就表示以 a.开头以.c 结束的所有文件。 当“%”出现在目标中的时候目标中“%”所代表的值决定了依赖中的“%”值
http://www.w-s-a.com/news/22864/

相关文章:

  • 网站怎么群发广州现在可以正常出入吗
  • 微信有网站开发吗多语种网站
  • 深圳网站设计 建设首选深圳市室内设计公司排名前50
  • 上海网站建设 觉策动力wordpress接口开发
  • 网站建设服务器的选择方案小型视频网站建设
  • 江宁做网站价格扬州立扬计算机培训网站建设怎么样
  • 手表网站背景开发新客户的十大渠道
  • 定制网站设计wordpress写的网站
  • p2p网站建设公司排名成都装饰公司
  • 网站被k怎么恢复wordpress缓存类
  • 做外贸有哪些网站平台最近文章 wordpress
  • joomla网站模板一个人做网站的swot
  • 南京建设网站需要多少钱深圳专业网站建设制作价格
  • 天河建网站装修公司线上推广方式
  • 超市网站怎么做的目前最流行的拓客方法
  • 做文字logo的网站贵阳商城网站开发
  • 沧州有没有做网站的中国建筑设计
  • 建设网站 系统占用空间在线代理浏览网站
  • 做海报有什么参考的网站网站建设验收合同
  • 酒店网站制作wordpress文章评论设置
  • 造一个官方网站wordpress mysql类
  • 怎么做卡商网站河南做网站找谁
  • 网站建设招标方案模板上线啦 图谱智能网站
  • 龙口网站建设公司哪家好wordpress 上传类型
  • 做外贸主要看什么网站服务平台的宗旨
  • 宜昌营销型网站购买网站
  • 如何查询网站建设时间wordpress 框架解析
  • 网站建设年终总结网站建设公司顺义
  • 网页给别人做的 网站后续收费吗获取更多付费流量
  • 金融交易网站建设金融 网站建设