linux程序设计笔记1

来源:互联网 发布:达内java培训费用 编辑:程序博客网 时间:2024/05/21 12:08
 

=============<《linux程序设计第4版》第一章===简介==================
1。gcc -I /usr/openwin/include cwj.c
它指示编译器不仅在标准位置,也在/usr/openwin/include 目录中查找程序cwj.c中包含的头文件。。

2。文件库lib开头: .a 静态函数库   .so 共享函数库
   *gcc cwj.c /user/lib/libm.a 告诉编译器除了搜索标准库以外,还去/usr/lib/libm.a这里找函数。
   *-l 来指明库文件:gcc cwj.c -l m :-l的好处就是:如果有共享库就会先找共享库。
   *我们还可以使用-L来增加库的搜索路径。 gcc -o cwj -L /usr/xxx/lib -lX11       告诉编译器在这个路径下找到libX11.so这个库来连接程序。
   *gcc a.o b.o -o cwj 这样子就可以在a.c中引用b.c中的函数能找到了。呵呵(后面跟多个目标文件)
   *
 静态库:他是一组目标文件,它包含一个声明该库内所有函数的头文件(windows :.lib)
  *ar crv libcwj.a bill.o fred.o //注意库都是基于目标文件来组合的(.o文件)
   这样就生成了libcwj.a文件了。 接着就可以gcc cwj.o -L. -lcwj来连接静态库了。
  *注意:静态库的连接后的可执行文件中并不会包含所有该静态库的函数,而是包含主程序中所需要的函数。
 通过这种连接方式,我们可以在主程序中不用声明我们所需要使用的函数,也可以编译执行成功哦。
 *通过nm来查看可执行文件的函数
 
 
 共享库:在有必要的情况下,共享库才会被加载到内存中去。(windows:.dll)
  *好处:共享库的更新可以独立于依赖他的应用程序;
 *通过ldd来查看一个程序需要的共享库  
 
=============《linux程序设计第4版》第2章=shell程序设计====================  
*2>/dev/null 这样可以丢弃掉错误信息。
*不要在命令流中重复使用相同的文件名
*which bash命令:找到那个命令的路径
 shell脚本程序
1。第一行应该是:#!/bin/sh  :指明我们所使用的哪个shell来解释这个脚本。
2。最后一行 使用exit 0 返回一个退出码,以便在其他脚本程序调用的时候来判断是否执行成功
3。变量:
 1使用变量的时候用:$变量名
 2给变量赋值的时候直接用:变量名
4。read 变量名//用户输入 2。\$cwj 转义了$  3字符串通常放在""中,同时又允许$拓展。
5。$0 shell脚本名称   $# 参数个数  $$ 脚本的进程号  $*、$@表示是参数的哪个啥
6。条件:test [ ]:1 字符串的比较2算术比较 3文件有关的条件测试
 1 str1 = str2   str1 != str2  -n string -z string
 2 expr1 -eq expr2  expr1 -ne expr2 -gt -te -lt -le !
 3 -d是否目录 -e存在否 -f普通文件 -r可读 -w可写 -x可执行
7。控制语句:
 if xxx then xxx else xxx if
 
 **********************
 注意拉,所有字符变量的使用,都最好用""来包围,否则改变量为空就不能比了,这样至少是空字符串。""
 **********************
 *for var in values do xxx done
 例如:打印当前所有的.sql文件:for var in $(ls *.sql) ; do echo $var done exit 0
 
 *while  condition do xxx done
 
 *until 同while,即在条件不成立的情况下执行循环
 
 *case 语句:使用;;来区分与普通语句;
  case variable in
   pattern ) xxx;;
   pattern ) xxx;;
  esac
 
 例子:case "$timeofday" in
   yes) echo "";;
   [no]s ) echo "";;
   y*|n) echo "";
   *) echo "";;
  esac
=================================shell先看到这里呀=========
 
 
 
  
  
  
  
  
  
  
  
  
  
  
  

原创粉丝点击