免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1571 | 回复: 9
打印 上一主题 下一主题

[FreeBSD] 写给自己 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-09-28 21:51 |只看该作者 |倒序浏览
本帖最后由 老爷康 于 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中被编译两次,后果就是重复!!!

以上是我今天所学的内容,希望和大家交流,计算机真的是非常耗脑力,有句话你交给一个人程序,是折磨他一天,你教会他编程,就是折磨他一辈子,这是真的!!

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
2 [报告]
发表于 2014-09-29 08:49 |只看该作者
刚开始学Unix就看Unix环境编程好像不合适,能看懂的机率非常小。Unix下也可以用java,无非就是一个编程环境的问题,除了#C系列外,其他的语言大多数都能在Unix下实现。
FreeBSD有个porter手册,应该对编程有帮助,可惜我只看了很小的一部分。
编程用自带的vi确实不是很好用,最好装vim-lite,vim-lite才是Linux下的vi。
最好不编辑/etc/group,而用pw命令来修改组,FreeBSD下只有wheel组才能su到root

另外FreeBSD10用的编译器是clang系列,我没主动用过,不敢发表看法。

论坛徽章:
17
巨蟹座
日期:2014-11-20 23:04:5215-16赛季CBA联赛之北控
日期:2018-08-01 16:08:4015-16赛季CBA联赛之浙江
日期:2017-12-08 11:25:2415-16赛季CBA联赛之四川
日期:2016-11-21 00:16:50操作系统版块每日发帖之星
日期:2016-07-28 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-25 15:36:04操作系统版块每日发帖之星
日期:2016-02-12 06:20:002015亚冠之西悉尼流浪者
日期:2015-08-28 14:48:322015亚冠之平阳省
日期:2015-08-19 14:54:162015亚冠之武里南联
日期:2015-07-07 10:49:112015亚冠之城南
日期:2015-06-22 10:15:002015亚冠之山东鲁能
日期:2015-06-18 18:03:44
3 [报告]
发表于 2014-09-29 09:32 |只看该作者
gcc那输出基本上不是给人看的

论坛徽章:
0
4 [报告]
发表于 2014-09-29 16:24 |只看该作者
回复 2# lsstarboy


    兄长,今天刚开始看UNIX环境高级编程,发现自己还是懂的太少,是否能给点建议,应该先看些什么,unix下的基本操作我现在大概了解了,当然只是略懂,但是看起这本书还是很吃力,另外,您能给解释一下,stdarg.h中的va_list等一系列函数的意思吗?

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
5 [报告]
发表于 2014-09-29 16:51 |只看该作者
回复 4# 老爷康


不好意思,我不是学信息技术的,只是略微懂一点C语言,稍深点的我一窍不通。

但是从我接触的其他语言看,语言本身的东西相对好学点,周围相关的东西,特别是原理性的东西才真正考验水平。

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
6 [报告]
发表于 2014-09-29 16:59 |只看该作者
不过你单纯想了解stdarg的话,可以man stdarg,里面都有解释。

论坛徽章:
0
7 [报告]
发表于 2014-09-29 18:38 |只看该作者
lsstarboy 发表于 2014-09-29 08:49
刚开始学Unix就看Unix环境编程好像不合适,能看懂的机率非常小。Unix下也可以用java,无非就是一个编程环境 ...

FreeBSD自带的vi非常好用,比vim简单,除非你要使用到vim那些复杂的特性与插件,否则就用vi来写代码,真的很舒心。
现在很多原本很简单的东西,越搞越复杂,越来越庞大。喜欢FreeBSD保持那份难得的简单纯洁

论坛徽章:
0
8 [报告]
发表于 2014-09-29 18:41 |只看该作者
老爷康 发表于 2014-09-29 16:24
回复 2# lsstarboy

那本很简单的,就是基础如门。你只要有C语言基础,应该不难,就是系统调用(就是系统接口函数学习)。

论坛徽章:
224
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32操作系统版块每日发帖之星
日期:2016-02-18 06:20:00操作系统版块每日发帖之星
日期:2016-03-01 06:20:00操作系统版块每日发帖之星
日期:2016-03-02 06:20:0015-16赛季CBA联赛之上海
日期:2019-09-20 12:29:3219周年集字徽章-周
日期:2019-10-01 20:47:4815-16赛季CBA联赛之八一
日期:2020-10-23 18:30:5320周年集字徽章-20	
日期:2020-10-28 14:14:2615-16赛季CBA联赛之广夏
日期:2023-02-25 16:26:26CU十四周年纪念徽章
日期:2023-04-13 12:23:1015-16赛季CBA联赛之四川
日期:2023-07-25 16:53:45操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
9 [报告]
发表于 2014-09-29 23:17 |只看该作者
你交给一个人程序,是折磨他一天,你教会他编程,就是折磨他一辈子,这是真的!!



{:3_203:}

论坛徽章:
0
10 [报告]
发表于 2014-09-30 20:11 |只看该作者
回复 8# CBJenjoy
就是看的很吃力,最近才开始学的。学习了一个礼拜的unix,C语言也是刚刚复习的,但是自己下了很大功夫,主要是大多数术语看不懂,是不是要看一些操作系统方面的书

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP