写给自己
本帖最后由 老爷康 于 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中被编译两次,后果就是重复!!!
以上是我今天所学的内容,希望和大家交流,计算机真的是非常耗脑力,有句话你交给一个人程序,是折磨他一天,你教会他编程,就是折磨他一辈子,这是真的!! 刚开始学Unix就看Unix环境编程好像不合适,能看懂的机率非常小。Unix下也可以用java,无非就是一个编程环境的问题,除了#C系列外,其他的语言大多数都能在Unix下实现。
FreeBSD有个porter手册,应该对编程有帮助,可惜我只看了很小的一部分。
编程用自带的vi确实不是很好用,最好装vim-lite,vim-lite才是Linux下的vi。
最好不编辑/etc/group,而用pw命令来修改组,FreeBSD下只有wheel组才能su到root
另外FreeBSD10用的编译器是clang系列,我没主动用过,不敢发表看法。 gcc那输出基本上不是给人看的 回复 2# lsstarboy
兄长,今天刚开始看UNIX环境高级编程,发现自己还是懂的太少,是否能给点建议,应该先看些什么,unix下的基本操作我现在大概了解了,当然只是略懂,但是看起这本书还是很吃力,另外,您能给解释一下,stdarg.h中的va_list等一系列函数的意思吗? 回复 4# 老爷康
不好意思,我不是学信息技术的,只是略微懂一点C语言,稍深点的我一窍不通。
但是从我接触的其他语言看,语言本身的东西相对好学点,周围相关的东西,特别是原理性的东西才真正考验水平。 不过你单纯想了解stdarg的话,可以man stdarg,里面都有解释。 lsstarboy 发表于 2014-09-29 08:49 static/image/common/back.gif
刚开始学Unix就看Unix环境编程好像不合适,能看懂的机率非常小。Unix下也可以用java,无非就是一个编程环境 ...
FreeBSD自带的vi非常好用,比vim简单,除非你要使用到vim那些复杂的特性与插件,否则就用vi来写代码,真的很舒心。
现在很多原本很简单的东西,越搞越复杂,越来越庞大。喜欢FreeBSD保持那份难得的简单纯洁 老爷康 发表于 2014-09-29 16:24 static/image/common/back.gif
回复 2# lsstarboy
那本很简单的,就是基础如门。你只要有C语言基础,应该不难,就是系统调用(就是系统接口函数学习)。 你交给一个人程序,是折磨他一天,你教会他编程,就是折磨他一辈子,这是真的!!
{:3_203:} 回复 8# CBJenjoy
就是看的很吃力,最近才开始学的。学习了一个礼拜的unix,C语言也是刚刚复习的,但是自己下了很大功夫,主要是大多数术语看不懂,是不是要看一些操作系统方面的书
页:
[1]