微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

进入高级C的最佳方式是什么?

而对于可能被调用的人来说,你有什么建议可以转到下一级的C编程,那么中间C程序员呢?

中级程序员:理解ISO C相当好,可以读取和修改别人的代码,运气好,数据结构和算法不错,但不好

>学习C 0x
>了解为不同的构造类型生成什么样的汇编代码,也许是x86
>忘记语言的细微差别并获得基本原理 – 从Sipser或PapadimitrIoU等地的自动机理论
>如果你知道OOP或至少认为你这样做,考虑如何将功能编程技巧与C结合起来
>在像LLVM或GNU Toolchain这样的编译器和开放源代码上工作
>整个想法被打破 – 下一个层次意味着更复杂的数据结构.所以如果你知道AVL,考虑学习左倾的红色黑树等

现在显然没有人可以在这个列表中做任何事情,没有优先级,所以我们需要一些建议,可能是最好的方法.

注意:感谢大家非常有帮助的答复.

解决方法

回答你的具体问题:

Learn C++0x

你肯定需要这样做所以可能你有你的答案在那里…

Learn what kind of assembly code gets generated for different construct
types,maybe for x86

我会说,学习如何理解编译器生成的汇编语言,如果不详细的话,请大致了解.然而,您当然不应该试图预测编译器将会做什么.

Forget language nuances and get the fundamentals — automata theory from
somewhere like Sipser or PapadimitrIoU

如果它打开你,我想…

If you kNow OOP or at least think you do,consider how to incorporate
functional programming skills with C++

在C支持的所有范例中,功能编程可能是最受支持的 – 如果你想学习FP,学习Haskell(或任何),而不是C.

Work on something on the lines of a compiler and open-source like LLVM or
GNU Toolchain

GNU是用C编写的,所以它不太可能提高你的C技能 – 我对LLVM知之甚少.

The whole idea is busted — the next level means more sophisticated
data structures. So if you kNow AVL,
consider learning left leaning red
black trees et al

RB树并不比AVL树更复杂 – 同样的基本概念.如果您了解数据结构教科书中涵盖的基本结构,我看不到需要进一步挖掘,除非您对此主题感兴趣.

原文地址:https://www.jb51.cc/c/115863.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐