Linux程序设计学习笔记 1
第一章 入门
?
?
1.1 UNIX、Linux和GNU简介
简要介绍了UNIX,Linux和GUN的历史与发展。
注意到UNIX的编程哲学,Linux应该也是沿用了它的编程哲学。
简单性,程序尽量小而简单,避免复杂,复杂容易出错。
集中性,单个程序尽量只完成一个功能,复杂应用应该有多个程序组合起来实现。这其实服从了第一个特性。
可重用组件,现在程序设计不光是UNIX与Linux,Windows下的程序设计也讲求可重用,早期的DLL到如今的COM。
过滤器,说是有输入有输出,不知所云。。。
开放文件格式,不要在把配置文件与数据文件捂的严严实实,采用ASCII码或XML文件形式保存,这样可以使不同程序公用数据文件。
灵活性,不要期待用户完全按照设想来使用程序。
?
?
1.2 Linux程序设计
?
程序放哪里?
#include <iostream>using namespace std;int main(int argc, char *argv[]){ cout << "hello world!" << endl; return 0;}编译与执行
$ g++ -o hello hello.cxx$ ./hello
标准的头文件存储在/usr/include目录中,用户自定义的投文件,若没放在当前目录或系统头文件目录中,在编译时应使用如下选项:
$ g++ -I/usr/urpgm/include hello.cxxLinux中,库文件分为静态库与共享库,后缀名.a代表静态库而.so代表共享库。静态库相当于Windows中的静态链接库,而共享库则相当于Windows中的动态连接库。
编译时要使用库文件,应使用命令:
?
$ g++ -o hello hello.cxx -L. -lfoo$ g++ -o hello hello.cxx ./libfoo.a
?两条语句等价。
?
?
1.3 帮助
?
使用man,info命令可以获得帮助信息。
?
$ man gcc$ info gcc
?