• linux c编程(一)


    1 常用系统环境配置

    2 使用g++编译连接,使用gdb调试

    3 使用makefile组织目标文件的依赖关系

    4 使用git

    1 常用系统环境配置

    输入法

    Download setup file for sogou input method (a deb file)

    sudo dpkg -i sogou_pinyin_linux_1.0.0.0033_amd64.deb

    sudo apt-get install -f

    system setting > language support 键盘输入方式系统中选择fcitx

    root权限

    sudo passwd # set password for root

    091207

    set a english environment

    system setting中设置

    自定义桌面文件夹  root权限,修改文件$HOME/.config/user-dirs.dirs

    Vim

    16.04自带语法高亮

    使用ctags  跳转到函数定义

    sudo apt-get install exuberant-ctags   #安装

    进入源代码的最顶层目录,运行 ctags -R,例如:

    $ cd ~/work/code/

    $ ctags -R

    使用ctrl + ] 跳转到函数定义位置

    vim就像使用sublime做前端,需要安装插件适应当前的工作

    2 使用g++编译连接,使用gdb调试

    G++

    gcc编译的过程

    预编译 (gcc -E), 编译 (gcc), 汇编 (as),和 连接 (ld)

    c++的程序需要使用g++编译

    g++ shi.cpp -o hello

    ./hello 运行生成的可执行文件

    预编译 (gcc -E) 执行的工作

    C语言的预处理主要有三个方面的内容: 1.宏定义; 2.文件包含; 3.条件编译。 预处理命令以符号“#”开头

    编译

    作为一个中间步骤,gcc把你的代码翻译成汇编语言。

    汇编器as

    把汇编语言代码转换为目标代码

    连接器 ld

    “-c”,表示仅编译(Compile),不连接(Make),如果没有”-c”参数,那么就表示连接

    gcc –o test test1.o test2.o,将test1.o和test2.o连接为可执行的二进制文件test

    -l参数,与之紧紧相连的是表示连接时所要的链接库,比如多线程,如果你使用了pthread_create函数,那么你就应该在编译语句的最后加上”-lpthread”,”-l”表示连接,”pthread”表示要连接的库,注意他们在这里要连在一起写,还有比如你使用了光标库curses,那么呢就应该在后面加上”-lcurses”,比如下面的写法:

    gcc –o test test1.o test2.o –lpthread –lcurses

    如何使用gdb调试

    准备工作,需要向编译得到的可执行文件加入调试信息  使用参数 -g

    gcc -g hello.c -o hello

    gdb hello

    进入gdb,使用help查看命令帮助

    gdb running

    run 运行程序

    continue -- Continue program being debugged

    next -- Step program 不跳入函数

    step -- Step program until it reaches a different source line 跳入函数

    kill 命令,终止正在调试的程序,简写为k

    breakpoint

    break 8 在对应的行上设置断点

    print 打印变量值

    watch 实现对一个变量的监控

    list命令显示出部分源代码

    list 9             用list加行号显示该行附近的源代码,本程序显示的第九行附近的源代码

    quit命令,退出gdb调试,简写为q;

    3 使用makefile组织目标文件的依赖关系

    make

    http://www.cnblogs.com/luchen927/archive/2012/02/05/2339002.html

     

    主要内容:

    make所做的工作,makefile文件基本编写规则,make的执行过程

    进阶 makefile中变量和自动推导

    无论是C还是C++,首先要把源文件编译成中间代码文件,在Windows下也就是 .obj 文件,UNIX下是 .o 文件,即 Object File,这个动作叫做编译(compile),一般来说,每个源文件都应该对应于一个中间目标文件(O文件或是OBJ文件)。然后再把大量的Object File合成执行文件,这个动作叫作链接(link)。

    链接器并不管函数所在的源文件,只管函数的中间目标文件(Object File),在大多数时候,由于源文件太多,编译生成的中间目标文件太多,而在链接时需要明显地指出中间目标文件名,这对于编译很不方便,所以,我们要给 中间目标文件打个包,在Windows下这种包叫“库文件”(Library File),也就是 .lib 文件,在UNIX下,是Archive File,也就是 .a 文件。

    目标 : 需要的条件 (注意冒号两边有空格)

    命令 (注意前面用tab键开头)

    实际执行的时候,会比较目标文件和条件文件的时间戳,有选择地执行makefile命令

    4 使用git

    apt-get install git

    git config --global user.name rex

    git config --global user.email water799@126.com #设置commit的email

    git config --global -l 查看设置信息

    git clone https://github.com/ceo1207/helloworld.git #克隆操作

    执行克隆操作之后,文件下载的位置在home下

    如何设置默认的下载位置

    记得查找document

    https://git-scm.com/docs/git-clone

    相对而言,github for windows非常简洁易操作

    Github for Windows

    github setup安装出错,hosts重定向github

    使用离线版本安装,手工用浏览器下载文件,然后运行.application文件即可

    自动创建SSH key,以便当前主机能操作远程仓库

    GitHub for Windows - oneBiteArea

    27:6d:92:11:6b:5a:d0:b6:d0:ce:e3:49:46:29:f7:90

    github基本功能使用

    创建或者克隆repository

    修改或者创建文件,会自动识别修改,publish之后,上传到远程仓库中

    提交PR pull request,可以合并到主分支中

    github for windows

    process

    1 Clone or create repositories

    2 Create branches

    3 Commit changes

    4 share,可以选择和原版本merge

  • 相关阅读:
    Spring定时
    随记生成验证码
    缅怀过去
    java运行可以执行文件
    随 记
    TLD生成
    IT鸟的回忆录
    梦之物语
    VINSMono
    WIDOWX 250 6DOF
  • 原文地址:https://www.cnblogs.com/ceo1207/p/6400864.html
Copyright © 2020-2023  润新知