一、vim知识

f(find)命令也可以用于移动,fx将找到光标后第一个为x的字符,3fd将找到第三个为d的字符。

D 删除当前字符至行尾。D=d$

:split或new 打开一个新窗口,光标停在顶层的窗口上

:split file或:new file 用新窗口打开文件

 

二、如何替换搜索第二个match的字符

sed –i ‘s/xxx/yyy/2’file

 

三、gcc的知识

选项-c

用法:#gcc-c test.s

作用:将汇编输出文件test.s编译输出test.o文件。

 

无选项链接

用法:#gcctest.o -o test

作用:将编译输出文件test.o链接成最终可执行文件test。

 

分别编译各个源文件,之后对编译后输出的目标文件链接。

用法:

#gcc-c testfun.c //将testfun.c编译成testfun.o

#gcc-c test.c //将test.c编译成test.o

#gcc-o testfun.o test.o -o test //将testfun.o和test.o链接成test

 

头文件

gcc在编译时怎么去寻找所需要的头文件:
※所以headerfile的搜寻会从-I开始
※然后找gcc的环境变量C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH
※再找内定目录
/usr/include
/usr/local/include
/usr/lib/gcc-lib/i386-linux/2.95.2/include
/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../include/g++-3
/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../i386-linux/include

 

库文件
编译的时候:
※gcc会去找-L
※再找gcc的环境变量LIBRARY_PATH
※再找内定目录/lib/usr/lib /usr/local/lib这是当初compilegcc时写在程式内的

 

-Dmacro
相当于C语言中的#definemacro
-Dmacro=defn
相当于C语言中的#definemacro=defn
-Umacro
相当于C语言中的#undefmacro
-undef
取消对任何非标准宏的定义

-Idir
在你是用#include"file"的时候,gcc/g++会先在当前目录查找你所制定的头文件,如
果没有找到,他回到缺省的头文件目录找,如果使用-I制定了目录,他
回先在你所制定的目录查找,然后再按常规的顺序去找.
对于#include<file>,gcc/g++会到-I制定的目录查找,查找不到,然后将到系统的缺
省的头文件目录查找
-I-
就是取消前一个参数的功能,所以一般在-Idir之后使用

-g
只是编译器,在编译的时候,产生调试信息。

-static
此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么
动态连接库,就可以运行.

-share
此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库.

-w不生成任何警告信息。
-Wall生成所有警告信息。

无论静态库,还是动态库,都是由.o文件创建的。

静态库文件名的命名规范是以lib为前缀,紧接着跟静态库名,扩展名为.a。例如:我们将创建的静态库名为myhello,则静态库文件名就是libmyhello.a。在创建和使用静态库时,需要注意这点。创建静态库用ar命令。

       在系统提示符下键入以下命令将创建静态库文件libmyhello.a。

#ar cr libmyhello.a hello.o

#gcc -o hello main.c -L. –lmyhello

 

动态库文件名命名规范和静态库文件名命名规范类似,也是在动态库名增加前缀lib,但其文件扩展名为.so。例如:我们将创建的动态库名为myhello,则动态库文件名就是libmyhello.so。用gcc来创建动态库。

在系统提示符下键入以下命令得到动态库文件libmyhello.so。

#gcc -shared -fPCI -o libmyhello.so hello.o

 

四、MakeFile

最新文章

  1. AEAI DP V3.6.0 升级说明,开源综合应用开发平台
  2. 【转】Oracle表分区
  3. CUDA 并行编程简介
  4. Java设计模式之责任链设计模式
  5. 中国海洋大学第四届朗讯杯高级组 A Rocky
  6. zepto 获取checked selected元素
  7. PHP程序猿必备的七种武器
  8. 【BZOJ 3926】【ZJOI 2015】诸神眷顾的幻想乡
  9. Struts2中Action接收参数的方法
  10. web框架和django基础(粗糙版)
  11. 更多more 123123循环
  12. Java中Annotation用法
  13. MQTT简介
  14. mock获取入参数并动态设置返回值
  15. PHP工厂模式计算面积与周长
  16. Python 库,资源
  17. Mac - MySQL初始密码忘记重置MySQL root密码
  18. http://blog.csdn.net/ym19860303/article/details/8462450
  19. 在iOS上实现二维码功能
  20. 范围for、new内存动态分配、nullptr

热门文章

  1. Lintcode--005(最长公共子序列)
  2. FeatureClass Copy
  3. Netbeans 注释模板配置
  4. Wireshark &quot;The NPF driver isn’t running…&quot;(可见的驱动本质上是一个系统服务,使用net start 启动)
  5. Delphi 调用系统中的计算器、记事本、画图软件方法
  6. Android studio无法更新 提示网络连接失败
  7. python标准库基础之mmap:内存映射文件
  8. (转载)XML Tutorial for iOS: How To Choose The Best XML Parser for Your iPhone Project
  9. Linux中图形界面和文本模式相互切换
  10. 配置linux中文