搜索
bottom↓
回复: 31

有单片机c语言经验的电工。想学c++ 有推荐的入门书籍吗?

[复制链接]

出0入25汤圆

发表于 2019-5-22 19:23:59 来自手机 | 显示全部楼层 |阅读模式
前不久学了python 。 用python 的tkinter 做了gui的程序。算是小成。目前在用threading 方向进化。

最近有个mfc的项目要开客户的代码。  c++大学里也没学过。

收索了网上的信息。mfc 必须是先学c++在学mfc才行。。

所以问下论坛搞单片机的兄弟们c++哪本书最适合电工?(有c语言项目经验的电工)

如果有pdf的话。麻烦共享一下更是要摩拜下。。

已经会c++的大佬,可以谈谈自己通过哪本书学会c++的。。。。再次谢谢

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2019-5-22 19:44:12 | 显示全部楼层
thinking in c++

出0入25汤圆

 楼主| 发表于 2019-5-22 20:51:18 | 显示全部楼层

thinking in c++  2nd  比较好。

谁能帮忙下载下  csdn地址

https://download.csdn.net/download/luhu124541/10544132

出0入25汤圆

 楼主| 发表于 2019-5-22 21:12:14 | 显示全部楼层
在网上找到了 中文第二版。

csdn的大牛说 尽量看英文版。粗略的看了一下英文2nd版,有800页。估计坚持不下来。  

所以上传2nd 的中文版, 凑活者自学。 希望能对后面的坛友有帮助。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2019-5-22 21:32:48 | 显示全部楼层
试试C++ prime plus

出0入0汤圆

发表于 2019-5-22 22:08:25 | 显示全部楼层
rei1984 发表于 2019-5-22 21:12
在网上找到了 中文第二版。

csdn的大牛说 尽量看英文版。粗略的看了一下英文2nd版,有800页。估计坚持不下 ...

其实就那3板斧,多态继承封装。。封装就是我们的结构体,继承,实际上也是结构体的变种,多态,C语言真的是无解。。其实不用刻意用,直接上来就开搞,搞着搞着,你突然发现,其实长的一样嘛。。主要是熟悉套路和各种API本身。。

出0入0汤圆

发表于 2019-5-22 22:49:18 | 显示全部楼层
感觉C# 要好学很多。

出0入0汤圆

发表于 2019-5-23 09:38:32 | 显示全部楼层
不限制语言话换c#把

出0入0汤圆

发表于 2019-5-23 10:08:11 | 显示全部楼层
说说我的经验,我是从C,想转C++,学了段时间的《C++ primer plus》,略有心得,
至少明白了多态,继承等基础概念,然后项目用不到,放下了。
有时候项目需要,写一写简单的小程序,主要是一些串口或者CAN上位机,或者数据格式转换等。
突然发现微软的c#比较符合我的要求,于是现在的程序都是c#完成。
说实话,我对c#语法没有学习过,由于要求简单,基本都是边学编写。
实在不行,还有google和github。

关键看你学习一种语言用来做什么,整个linux基本都是基于C的,C语言干不好的事情,C++也未必可行。
如果要搞简单的windows应用,c#配合vs,神器啊。

出0入0汤圆

发表于 2019-5-23 10:29:51 | 显示全部楼层
C++ prime plus 绝对的入门之选,比国内的那些书讲的不知道好多少倍。细节处理很到位。

学完这本书感觉要放弃了就放弃吧

出0入25汤圆

 楼主| 发表于 2019-5-23 23:13:42 | 显示全部楼层
simplorer 发表于 2019-5-23 10:08
说说我的经验,我是从C,想转C++,学了段时间的《C++ primer plus》,略有心得,
至少明白了多态,继承等基 ...

谢谢兄弟的分享。

之前我在搞76e003 的下位机 bootload
新唐的官方开源了上位机烧写软件,是用mfc开发的。于是想试着修改软件。  其实是想把上位机用python gui来实现。
用vs2010加载 新唐的上位机后,一直找不到界面和回调函数。所以想学学c++。  感觉是不停的在给自己挖坑。

我在耐心下来看下新唐的源代码。 应该能找到有用的信息。并且吧上位机移植到python上

出0入8汤圆

发表于 2019-5-23 23:53:00 | 显示全部楼层
有一本名字起的特别山寨的书《21天学通c++》比较适合入门,别太在意书名,书的内容易懂,覆盖知识点清楚就够了。

出0入93汤圆

发表于 2019-5-24 06:14:44 | 显示全部楼层
首先来打击下LZ,因为我大学就是先学C++的,然后才是单片机中学C,和你这个不一样。但是特别提醒:C的经验不要直接套到C++!不完全兼容的。凡是鼓吹完全兼容的都是自己是半吊子还好为人师的,尤其从C99开始以后的C新特性和C++那是各自独立发展,互不兼容。
其次,MFC是个很古老的架构了,新的设计中还在用这个架构的已经不多了。
第三,你想把上位机移植到python上,是为了跨平台还是别的原因?如果不需要跨平台,建议您不要移植了,直接调用多好。指不定里面调用了什么奇奇怪怪的类呢。
第四,C++增加的内容其实根本就不止那点类与对象。如果您不想深入学习,那么泛型(主要是模板)和异常就别看了,省得心烦。如果要好好学习并在实践中使用C++,那么STL你基本上躲不过去。C、C++都有自己的基础运行库,比如你看到的那个<stdio.h><stdlib.h>之类的,然后很不幸,C++加入的库基本上都是模板库,你看下他的源代码你就知道,原来天书都没有这么复杂。
第五,设计模式。估计任何一本讲语法的书都不会讲到设计模式,但是你参考的程序中很可能充满了这些东西,不要为了效率考虑试图去优化它。

出0入93汤圆

发表于 2019-5-24 06:23:36 | 显示全部楼层
kinsno 发表于 2019-5-22 22:08
其实就那3板斧,多态继承封装。。封装就是我们的结构体,继承,实际上也是结构体的变种,多态,C语言真的 ...

多态可以用函数指针实现的。不要求内存排布完全一致,那就直接写到结构体里面;如果有内存排布的考虑,还得构建虚函数表,这个麻烦

出0入25汤圆

 楼主| 发表于 2019-5-24 06:29:31 来自手机 | 显示全部楼层
takashiki 发表于 2019-5-24 06:14
首先来打击下LZ,因为我大学就是先学C++的,然后才是单片机中学C,和你这个不一样。但是特别提醒:C的经验 ...

是的。目的就是为了跨平台,才需要移植

出0入8汤圆

发表于 2019-5-24 08:05:27 来自手机 | 显示全部楼层
先看中文再看英文,不要想着一步登天

出0入25汤圆

 楼主| 发表于 2019-5-24 08:21:46 | 显示全部楼层
uindex 发表于 2019-5-23 23:53
有一本名字起的特别山寨的书《21天学通c++》比较适合入门,别太在意书名,书的内容易懂,覆盖知识点清楚就 ...





外面找了一圈,找到了最新的超清第八版。
上传上来,方便以后要学习的论坛朋友。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入25汤圆

 楼主| 发表于 2019-5-24 08:24:03 | 显示全部楼层
以我自学的经历来看。书不在于多。入门找对方向一本就够了。

然后就是花费耐心去coding那些例子。

出0入8汤圆

发表于 2019-5-24 09:00:21 | 显示全部楼层
rei1984 发表于 2019-5-24 06:29
是的。目的就是为了跨平台,才需要移植

既然你的目的是跨平台,可以试试Qt开发上位机(当然这个也是需要C++知识的),Qt的跨平台能力,相信不用多说了

以后想搞嵌入式Linux开发,Qt也是有用的。



PS,个人感觉,针对电工,程序语言的基础配置应该是这样的:

1. C,原因不必说了;
2. Qt或C#(Qt的收益强于C#),为了解决点上位机的应用,可能更多是串口应用;
3. python,脚本语言,本身主要作为辅助工具语言(更适用上位机);
4. lua,脚本语言,这点需求不如上面3点强烈或普遍(更适用下位机)。

出0入0汤圆

发表于 2019-5-24 09:10:37 | 显示全部楼层
Jmhh247 发表于 2019-5-24 09:00
既然你的目的是跨平台,可以试试Qt开发上位机(当然这个也是需要C++知识的),Qt的跨平台能力,相信不用多 ...

上面这些基本就是我常用或者说是会用的大部分语言了,上位机用C#(现在慢慢的转Qt了)。开发ESP8266用的是lua,基本也算是常用开发语言了。Linux下面一些功能性的插件之类的会用Python来做。主力语言还是C了

出0入0汤圆

发表于 2019-5-24 09:12:02 | 显示全部楼层
啥是C加加?

出0入8汤圆

发表于 2019-5-24 09:26:16 | 显示全部楼层
hyghyg1234 发表于 2019-5-24 09:10
上面这些基本就是我常用或者说是会用的大部分语言了,上位机用C#(现在慢慢的转Qt了)。开发ESP8266用的 ...

哈哈,看来我的总结还算到位,都是多年实战后的个人心得

python一般也会用到pyqt,和Qt本身就存在一些共性

可以说,这个“基础配置”是学习成本比较小的了。

出0入25汤圆

 楼主| 发表于 2019-5-24 15:58:30 | 显示全部楼层
Jmhh247 发表于 2019-5-24 09:26
哈哈,看来我的总结还算到位,都是多年实战后的个人心得

python一般也会用到pyqt,和Qt本身就存在一些共 ...

大神你上文回复的 qt  ,是 基于C++写的 gui商业库。  最后是用 g++ 编译成 可执行文件的吗?




至于最后一个 回复  pyqt 是 qt在 python上的移植,  和 主流qt(C++实现)有许多共同点, 但2者也有一些差异?  具体是哪些差异,能否点拨一下  

出0入8汤圆

发表于 2019-5-25 09:53:20 | 显示全部楼层
rei1984 发表于 2019-5-24 15:58
大神你上文回复的 qt  ,是 基于C++写的 gui商业库。  最后是用 g++ 编译成 可执行文件的吗?

大神称不上。

我说的都是个人理解,不一定准确,下面的也是。


第一个问题:是的,最终就是编译好的可执行文件。Qt本身是一套框架,不仅是gui库。

第二个问题:共同点是gui控件的操作方法;差异真不好说,平常用用,我没深入研究过,毕竟是两种不同的语言,我想Qt可能会更灵活一些。。。


最终,知识都是要应用的,可能先用起来,收获就有了,疑惑也解开了。

出0入0汤圆

发表于 2019-5-25 10:27:03 来自手机 | 显示全部楼层
找人教你,我就是把同事问烦了才入门的

出0入8汤圆

发表于 2019-5-25 11:55:40 | 显示全部楼层
啥叫了解,啥熟入门,啥叫精通

谈场恋爱差不多叫了解,接触到皮毛了
入门就不解释了,字面意思已经很浅显,送牛奶不算
结个婚搞出下一代算是精、通了

更高的层次不了解,未入门,不精通

出0入0汤圆

发表于 2019-5-31 13:15:43 来自手机 | 显示全部楼层
谢谢入门的书,先做一个记号

出375入0汤圆

发表于 2021-2-21 01:03:38 | 显示全部楼层
楼主可以试试 Delphi

出0入4汤圆

发表于 2021-2-21 08:32:04 | 显示全部楼层
从我的经验来说, 建议直接找一本MFC入门的书, 先把每个例子都做一篇,  各个控件, 单文档, 多文档, 主框架,,,, 手工敲一篇.  等有了大概的印象再分析里面的C++语法.
我们是工程师, 不是学生.  最终你会发现 WIN窗口编程, MFC的框架, 消息传递体系才是难点.  我那时干脆用WIN32 API编了几个例子, 才明白到底咋回事.

出0入8汤圆

发表于 2021-2-21 09:58:32 | 显示全部楼层
qinxg 发表于 2021-2-21 08:32
从我的经验来说, 建议直接找一本MFC入门的书, 先把每个例子都做一篇,  各个控件, 单文档, 多文档, 主框架,, ...

其实,应该请楼主回来讲一下,入门了没有,怎么入的门。

出0入0汤圆

发表于 2021-2-23 12:03:24 | 显示全部楼层
uindex 发表于 2019-5-25 11:55
啥叫了解,啥熟入门,啥叫精通

谈场恋爱差不多叫了解,接触到皮毛了

真是神回复。入门 精通。

出0入0汤圆

发表于 2021-2-23 16:49:35 来自手机 | 显示全部楼层
mark一下
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 19:01

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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