纠结linux c/c++的开发

时间:2022-09-01 12:30:13
我现在想做linux c/c++的开发,但是选择语言上有一些郁闷,是选择用C去写,还是选择用C++去写。C语言是面向进程的语言,C++是面向对象的语言,很纠结这个问题。按理说应该学完C就去学C++的,但是已经25了,原来专注JAVA三年了,感觉更迫切想去了解底层的东西,更想去做底层的开发,对于堆栈和寄存器的向往和CPU工作周期的了解更加迫切。希望哪位大神能帮帮小弟我,指出一条路...感激不尽

11 个解决方案

#1


好比博尔特原来练200米的,但是人家就是那么猛,不用练,直接跑100米,结果就是世界冠军。
让那些专门练100米的运动员气死也活该。

一个道理,什么先学C++,先学C,我觉得根本是个次要的问题。如果你有悟性,先学啥都行。基础太差,实力不足,整天纠结先学C++还是先学C,一点意义都没有。

#2


用到什么学什么,问题不大的!一切看需求

#3


《Linux C编程一站式学习》

计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……

对学习编程者的忠告:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!

单步类的实例“构造”或“复制”或“作为函数参数”或“作为函数返回值返回”或“参加各种运算”或“退出作用域”的语句对应的汇编代码几步后,就会来到该类的“构造函数”或“复制构造函数”或“运算符重载”或“析构函数”对应的C/C++源代码处。

VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
(Turbo C或Borland C用Turbo Debugger调试,Linux或Unix下用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)

#4


引用 楼主 u013513117 的回复:
对于堆栈和寄存器的向往和CPU工作周期的了解更加迫切。

内核?汇编?

#5


引用 3 楼 zhao4zhong1 的回复:
《Linux C编程一站式学习》

计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……

对学习编程者的忠告:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!

单步类的实例“构造”或“复制”或“作为函数参数”或“作为函数返回值返回”或“参加各种运算”或“退出作用域”的语句对应的汇编代码几步后,就会来到该类的“构造函数”或“复制构造函数”或“运算符重载”或“析构函数”对应的C/C++源代码处。

VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
(Turbo C或Borland C用Turbo Debugger调试,Linux或Unix下用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)

C只是一小部分,需要学习的东西还很多...不废话了,好好学习吧

#6


引用 1 楼 caozhy 的回复:
好比博尔特原来练200米的,但是人家就是那么猛,不用练,直接跑100米,结果就是世界冠军。
让那些专门练100米的运动员气死也活该。

一个道理,什么先学C++,先学C,我觉得根本是个次要的问题。如果你有悟性,先学啥都行。基础太差,实力不足,整天纠结先学C++还是先学C,一点意义都没有。

懂了,想这些都没用,一点一点认真学习才是硬道理... 不在纠结那些没用的问题了...先从C开始

#7


想知道LZ是为了什么去做选择的?
如果向往底层, 那果断的C, 不光要C, 还要单片机.
如果只是想体验一把指针控制内存搞崩系统的快感, 也是果断C....
C艹真正项目中应用还是上层的.

#8


看操作系统原理   内核  驱动的书。

#9


不敢指路,希望楼主越来越好,早日找到目标,不再迷茫~~~

#10


帮楼主顶起来

#11


另外自己好好想想为什么想做linux c/c++的开发.

#1


好比博尔特原来练200米的,但是人家就是那么猛,不用练,直接跑100米,结果就是世界冠军。
让那些专门练100米的运动员气死也活该。

一个道理,什么先学C++,先学C,我觉得根本是个次要的问题。如果你有悟性,先学啥都行。基础太差,实力不足,整天纠结先学C++还是先学C,一点意义都没有。

#2


用到什么学什么,问题不大的!一切看需求

#3


《Linux C编程一站式学习》

计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……

对学习编程者的忠告:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!

单步类的实例“构造”或“复制”或“作为函数参数”或“作为函数返回值返回”或“参加各种运算”或“退出作用域”的语句对应的汇编代码几步后,就会来到该类的“构造函数”或“复制构造函数”或“运算符重载”或“析构函数”对应的C/C++源代码处。

VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
(Turbo C或Borland C用Turbo Debugger调试,Linux或Unix下用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)

#4


引用 楼主 u013513117 的回复:
对于堆栈和寄存器的向往和CPU工作周期的了解更加迫切。

内核?汇编?

#5


引用 3 楼 zhao4zhong1 的回复:
《Linux C编程一站式学习》

计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……

对学习编程者的忠告:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!

单步类的实例“构造”或“复制”或“作为函数参数”或“作为函数返回值返回”或“参加各种运算”或“退出作用域”的语句对应的汇编代码几步后,就会来到该类的“构造函数”或“复制构造函数”或“运算符重载”或“析构函数”对应的C/C++源代码处。

VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
(Turbo C或Borland C用Turbo Debugger调试,Linux或Unix下用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)

C只是一小部分,需要学习的东西还很多...不废话了,好好学习吧

#6


引用 1 楼 caozhy 的回复:
好比博尔特原来练200米的,但是人家就是那么猛,不用练,直接跑100米,结果就是世界冠军。
让那些专门练100米的运动员气死也活该。

一个道理,什么先学C++,先学C,我觉得根本是个次要的问题。如果你有悟性,先学啥都行。基础太差,实力不足,整天纠结先学C++还是先学C,一点意义都没有。

懂了,想这些都没用,一点一点认真学习才是硬道理... 不在纠结那些没用的问题了...先从C开始

#7


想知道LZ是为了什么去做选择的?
如果向往底层, 那果断的C, 不光要C, 还要单片机.
如果只是想体验一把指针控制内存搞崩系统的快感, 也是果断C....
C艹真正项目中应用还是上层的.

#8


看操作系统原理   内核  驱动的书。

#9


不敢指路,希望楼主越来越好,早日找到目标,不再迷茫~~~

#10


帮楼主顶起来

#11


另外自己好好想想为什么想做linux c/c++的开发.