zoukankan      html  css  js  c++  java
  • C语言开发工具

    1.编写程序的工具:

      indent命令将自动调整C代码的缩进风格,个人比较喜欢indent -kr

    2.编译C语言程序:

      1.gcc编译器:

        gcc是一个ANSI C兼容编译器,C++编译器也可以编译C程序,事实上g++编译器内部还是调用了gcc

        gcc命令可以启动C编译系统,当执行gcc时,它将完成预处理、编译、汇编和连接4个步骤并最终生成可执行代码,产生的可执行程序默认被保存为a.out文件。gcc处理的    各种文件类型包括:

          静态链接库(.a)、共享链接库(.so)、C语言源文件(.c)、C++源文件(.C.c或者.cpp)、汇编语言文件(.s)、预处理文件(.i)、目标代码文件(.o)

        gcc [options] filename-list  注意不能在一个单独的连接字符后面跟一组选项

      2.函数库:

        标准系统库文件一般存放在Linux文件系统/lib和/usr/lib目录中。

        默认情况下,C语言编译器只搜索标准C语言库,要想它搜索到其他库文件,要把库文件放到标准目录中,库文件必须遵循特定的命名规范并且需要在命令行中明确指定;

        库文件的名字总是以lib开头,随后的部分指明这是什么库,文件名的最后是.a或者.so。

        例如: libm.a 为静态函数库;

           gcc -o hello hello.c /usr/lib/libm.a

           gcc -o hello hello.c -lm   -l会优先搜索共享库  

          如果库文件不在标准目录中,可用-L增加库的搜索路径

          gcc -o x11pro1 x1hello.c -L/usr/openwin/lib -lX11

        1.静态库:

          函数库最简单的形式是一组处于“准备好使用”状态的目标文件

          创建和维护自己的静态库,只要使用gcc -c 和ar 命令对函数分别进行编译。

        2.共享库:

          静态库存在与每个使用它的应用程序中,而共享库不在使用它的应用程序中,只在应用程序运行时,才去访问共享代码,从而节省了内存。

          对Linux系统来说,负责装载共享库并解析客户程序函数引用的程序是ld.so,也可能是ld-linux.so.2或者ld-lsb.so.1,搜索共享库的其他位置可以在文件/etc         /ld.so.conf中配置。

    3.make工具:

      make工具依赖于一个特殊的,名字为makefile或Makefile的文件,这个文件描述了系统中各个模块之间的依赖关系,系统中部分文件改变时,make根据这些关系决定一个需要  重新编译的文件的最小集合。

      Makefile是一个文本形式的数据库文件,其中包含一些规则来告诉make处理哪些文件以及如何处理这些文件。

      这些规则主要是哪些文件(称为target目标文件)是从哪些别的文件(称为dependency依赖文件)中产生的,以及用什么命令来执行这个过程。

      依靠这些信息,make会对磁盘上的文件进行检查,如果目标文件的生成或改动时的时间(文件时间戳)至少比它的一个依赖文件还旧的话,make就执行相应的命令,以更新目  标文件。

      一个Makefile文件含有一系列的make规则,每条make规则包含以下内容:

        目标文件列表:依赖文件列表

        <TAB>命令列表

      除非特别指定,否则make工作目录就是当前目录。

      以#开头的为注释行,可使用续行号“”将一个单独的命令延续成几行。

      一般情况下,调用make指令可输入:

        make target

      target是Makefile文件中定义的目标之一,如果省略target,make就将生成Makefile文件中定义的第一个目标。

      Makefile中的变量:

        定义变量: VARNAME=string

        引用变量:${VARNAME}

        变量一般都在Makefile的前面部分丁义,按照惯例,所有的Makefile变量都应该是大写。

        除了用户自定义的变量外,make还允许使用环境变量、自动变量和预定义变量。因为,在make启动时,make读取系统当前已定义的环境变量,并且创建与之同名同值的    变量。

        常用的预定义变量:$@、$?、$<、$^

        另外规则的命令重复,可以省略

    4.gdb调试工具:

      要使用gdb调试程序,必须使用-g参数重新编译该程序。

  • 相关阅读:
    四、Signalr手持令牌验证
    三、Signalr外部链接
    三、使用Fiddler劫持网络资源(手机端)
    一、数据库层搭建
    学会聊天
    weblogic实时监控开发
    jrockit静默安装笔记
    自动磁盘分区脚本
    WebsphereMQ搭建集群
    Websphere MQ Cluster
  • 原文地址:https://www.cnblogs.com/qjjazry/p/5989070.html
Copyright © 2011-2022 走看看