LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: zqpytrjb

【疑惑】这里究竟有几个会C语言的人?

[复制链接]
发表于 2005-4-3 19:17:53 | 显示全部楼层
你的问题精华贴里面有
回复 支持 反对

使用道具 举报

发表于 2005-4-3 20:55:52 | 显示全部楼层
这两个问题光看中文的书,估计还是很难知道的,不过看了英文的一时也答不上来哦,hoho
看样子好象是做embed的公司啊,公司在哪啊?兄弟我想去试试,前天刚辞职!
回复 支持 反对

使用道具 举报

发表于 2005-4-3 21:29:52 | 显示全部楼层
1。定义一个宏用来表示一年中有多少秒(注意是16位CPU的环境下,不需要考虑闰年)

16位cpu的int等类型是32还是16
如果是16
max(16 bit int )= 65535
一天 3600 * 24 * 365~= 3600 * 24 * 360 远大于 16位int 的范围

所以这个宏定义出来没有意义 因为没有一个类型可以保存这样的 int

如果int是32位 那这个OS应该支持32位的乘法 所以就像普通的定义就可以了 因为编译器编译时会对宏进行运算然后再展开(现在编译器会进行数的运算的优化 )

#define YEAR_SEC_COUNT (60*60*24*365)






2。“static”关键字,在C语言中是什么含义?
表示使用静态的存储 也就是在程序中从程序开始运行  到程序退出 这个关键字定义的内存块一直存在在栈中 随时可以访问

就这样子了 说出你的标准答案吧

看书这东西 确实我不喜欢 真正的程序是在实践中练出来的  不是在书上写出来的

个人看法 作为一个真正的程序员 有一种直觉 那就是这个程序应该怎样设计 结构应该怎样
这几本书看过的人很多 但真正的程序牛人不多 看看能领导大项目的 如开发delphi或是windows 或是linux
或是其它大软件的人 他们不一定都看这些书 但他们设计的整个软件的架构有很好的可用性与可扩展性 这才是真正的牛人

这种直觉是经过不断的实践培养出来

而那些小程序员只是在边上敲敲打打 修改代码 背熟语法 然后花大量的钱去买书 以为有书了就什么都可以做了
只会让自己的代码减少bug 但不会从全局上去架构整个系统 考虑整个系统

写书的人的水平怎样? 他写出怎样的系统出来?? 有没有实践??

或是看看候捷 你看他写了那么多书 他看书的水平应该不错吧 让这样人去写个软件看  看他能写出怎样的软件

说话真了点 如果介意的话说一声
回复 支持 反对

使用道具 举报

发表于 2005-4-3 21:46:48 | 显示全部楼层
static 放在函数或变量前面还有保护函数或变量不被其他文件中的函数访问的功能。

第一题可能没有这么简单。不过俺也不知道。

另:同意楼上对编程的看法,等发展到那一步就不叫程序员了,叫“体系结构师”。
回复 支持 反对

使用道具 举报

发表于 2005-4-3 21:49:23 | 显示全部楼层
只要会C就招了???月薪5K以上???我怎么碰不上这种好事???
回复 支持 反对

使用道具 举报

发表于 2005-4-3 21:58:21 | 显示全部楼层
楼上运气不好。
回复 支持 反对

使用道具 举报

发表于 2005-4-3 22:02:43 | 显示全部楼层
第一个#define SEC_PER_YEAR (365*24*60*60)UL,后面加个unsigned long :%
由于说的是16bit的,怕溢出,加个声明保险点.
第二个同意wushuang的答案,不过最近看了driver后,又多了一个想法,static声明的函数,只能在这个module里起作用,出了这个module就是game over啦!
有高手提出更好的意见!
回复 支持 反对

使用道具 举报

发表于 2005-4-3 22:10:24 | 显示全部楼层
关于第一题,楼上应该是正解了。

这样考人也有点教条,没有人规定16位机上 UL 一定是32位。这对有16位机使用经验的人来说好像是顺理成章,对刚毕业的学生就不公平了。而且现在的嵌入式系统基本以 32 位为主了,原来在嵌入式系统上开发的限制逐渐被抛弃了。
回复 支持 反对

使用道具 举报

发表于 2005-4-3 22:42:41 | 显示全部楼层
阿,要是那么多钱我毕业也去你公司,本人就只懂C,不懂别的,哈哈
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-3 23:33:03 | 显示全部楼层
Post by wuhu
第一个#define SEC_PER_YEAR (365*24*60*60)UL,后面加个unsigned long :%
由于说的是16bit的,怕溢出,加个声明保险点.
第二个同意wushuang的答案,不过最近看了driver后,又多了一个想法,static声明的函数,只能在这个module里起作用,出了这个module就是game over啦!
有高手提出更好的意见!


答案基本正确
1。 #define SECONDS_PER_YEAR (365*24*60*60UL)
2。static加在变量前和加在函数前是不同的含义。 :p
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表