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