## Linux环境下的C/C++编程要点 ##
1. hello.cpp
[root@localhost study20111212]# cat hello.cpp
#include <iostream> // 与iostream.h有区别的
//#include <iostream.h>
using namespace std; // 若无此语句,则找不到cout定义,这是和iostream.h的区别!
int main() {
for(int i=0; i<10; i++) {
cout << "hello. " << endl;
}
}
2. 一个关于lib的完整例子hello-mylib
* 源代码
[root@localhost study20111212]# cat mylib.h
void sayHello();
[root@localhost study20111212]# cat mylib.cpp
#include <iostream>
using namespace std;
void sayHello() {
cout << "Say Hello!" << endl;
}
[root@localhost study20111212]# cat hello-mylib.cpp
#include <iostream>
//#include <iostream.h>
#include "mylib.h"
using namespace std;
int main() {
for(int i=0; i<10; i++) {
cout << "hello. " << endl;
}
sayHello();
}
[root@localhost study20111212]# cat Makefile
all: hello-mylib
libmylib.o: mylib.cpp mylib.h
g++ -c -o libmylib.o mylib.cpp
libmylib.a: libmylib.o
ar rc
libmylib.a libmylib.o
^ 生成静态库
hello-mylib.o: hello-mylib.cpp mylib.h
g++ -c -o hello-mylib.o hello-mylib.cpp
hello-mylib: hello-mylib.o libmylib.a
g++ -o hello-mylib hello-mylib.o -lmylib -L.
^ 为库指定目录
clean:
rm *.o *.a a.out hello-mylib *.s
* 执行
[root@localhost study20111212]# make
g++ -c -o hello-mylib.o hello-mylib.cpp
g++ -c -o libmylib.o mylib.cpp
ar rc libmylib.a libmylib.o
g++ -o hello-mylib hello-mylib.o -lmylib -L.
[root@localhost study20111212]# ./hello-mylib
hello.
hello.
hello.
hello.
hello.
hello.
hello.
hello.
hello.
hello.
Say Hello!