- 论坛徽章:
- 0
|
本帖最后由 老爷康 于 2014-09-28 21:54 编辑
这个周末,什么都没有干,在自习室呆了两天,因为自己是个新手,所以看书看得很吃力,而且渐渐的发现,UNIX或是编程或这或那,计算机学习研究的方向太多太多~而且不管你看什么,尤其是刚入门的时候,很多东西你都不知道,没有一定的只是储备看什么都是天书,我浅谈自己的一些意见,不足之处请多多指正:
问:你为什么要学习UNIX?
答:老师说只有在unix下编程,才是高手!
问:你看的第一本关于UNIX的书是什么?
答:网上很多人多说要看unix环境高级编程!我很庆幸,没有看!因为对于一个刚接触unix的人来说,我建议还是先看UNIX初级教程,他从使用方法和技巧让你了解UNIX,如果一开始就看环境,你很难看懂,因为你连最基础的操作都不会。
问:unix下编程到底是什么?
答:我现在才知道原来老师是忽悠人的,unix下可以编程(C/C++),但是不想JAVA一样等是针对面向的,真正的unix下编程是真对系统(接口、网络等),而不是软件和游戏。
问:如何才能学好unix?
答:这个我还没有权利回答,但是通过一个礼拜的学习,我知道,要想学好unix,要有扎实的基础,无论是编程或者是网络。
下面,我这个小菜鸟讲讲今天所学的东西(高手请飘过):
1、基本的makfile文件编写;这里有一个问题,比如在main.c文件中包含了head.h,而main.c需要调用的func()函数在head.h中声明了,却在list.c中定义的,
如果你是这样编译:main:main.o list.o
cc -o main main.o 编译时报错了,说undefined reference to func();
需要这样改cc -o main main.o list.o
也就是说编译器不会自动帮助我们链接,需要自己去实现;
2、10.0的FReebsd确实没有9.0的好用(vi编译器经常出错,在非命令环境下不能和其他功能键完美结合),或许是刚出来,很多地方还没有完善的原因,大量错误。。。。。。
3、chsh 轻松改变自己默认启动shell
4、su:sorry? 以root身份进入,cd /etc ;vi group;找到wheel 在root后面加上你自己的名字
5、深刻理解编译器工作原理,会让你头脑清醒,当然,通过写makefile 也会让你头脑清醒;
编译器在编译(预处理或者是其他什么)阶段,会给.c的源文件生成目标文件;你自己的.h只是被copy到包含他的源文件中,链接就是把目标文件和函数库一起糅合。。。
6,在声明你自己的头文件时,最好是加上#ifndef #define ...#endif,他真的在避免重复定义方面有很好的用处,比如你main.c包含了a.h,a.h又包含了b.h,而b.h又包含了a.h那么怎么办?如何直接include,a.h就会在main中被编译两次,后果就是重复!!!
以上是我今天所学的内容,希望和大家交流,计算机真的是非常耗脑力,有句话你交给一个人程序,是折磨他一天,你教会他编程,就是折磨他一辈子,这是真的!! |
|