C11标准和之后的C17

街角男孩 2017-08-15 05:32:57
C11以后基本跟C语言区别了,
新手问题和想法是,
C11是往后是在完善C++存在的问题?
还是在脱离原来的底层,向更高级的C#,JAVA一类靠近?
(也差不多说是不再嵌入式底层了,不再支持底层驱动了)
...全文
1970 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
silvasaga 2021-04-16
  • 打赏
  • 举报
回复
这个肯定的, 就算能用也只能是子集
远方春风 2019-11-07
  • 打赏
  • 举报
回复
目前除了register变量以外好像没什么取消的底层特性
x_xx_xxx_xxxx 2017-08-18
  • 打赏
  • 举报
回复
引用 20 楼 zhao4zhong1 的回复:
推荐使用软件Spy4Win
老师,您是让我在这个软件中查看HWND,然后再使用吗? 我是想在代码中,可以动态获取新启动的.exe文件的HWND( .exe 文件名可变)
赵4老师 2017-08-18
  • 打赏
  • 举报
回复
推荐使用软件Spy4Win
赵4老师 2017-08-18
  • 打赏
  • 举报
回复
x_xx_xxx_xxxx 2017-08-18
  • 打赏
  • 举报
回复
引用 22 楼 zhao4zhong1 的回复:
推荐使用软件Spy4Win
想不使用SetWindowPos 之类的函数,想直接通过进程ID 神马的对它可进行后台操作。
x_xx_xxx_xxxx 2017-08-18
  • 打赏
  • 举报
回复
引用 22 楼 zhao4zhong1 的回复:
推荐使用软件Spy4Win
赵老师,我能再借楼问您一个问题吗? 通过模拟鼠标事件点击来控制另一个程序的执行(比如点击B程序的 下一步按钮),假设这个页面的按钮被挡住了,这个模拟就不能执行了,请问有没有其他方式来在一个程序A中控制另一个已经存在且和B无关的程序的执行呢?
赵4老师 2017-08-18
  • 打赏
  • 举报
回复
引用 21 楼 x_xx_xxx_xxxx 的回复:
[quote=引用 20 楼 zhao4zhong1 的回复:] 推荐使用软件Spy4Win
老师,您是让我在这个软件中查看HWND,然后再使用吗? 我是想在代码中,可以动态获取新启动的.exe文件的HWND( .exe 文件名可变)[/quote] spy4win软件有生成查找指定窗口对应HWND C++代码片断的功能!
赵4老师 2017-08-17
  • 打赏
  • 举报
回复
计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……
赵4老师 2017-08-17
  • 打赏
  • 举报
回复
引用 15 楼 x_xx_xxx_xxxx 的回复:
[quote=引用 14 楼 zhao4zhong1 的回复:] 底层开发到处充斥着边界、异常、溢出、……且动不动就不支持动态内存分配,动不动就会发生掉电、断网、……各种意外,用C++开发,那不是火中取栗吗?
那 c 或 汇编 才是底层开发的王道?[/quote] 不然呢? 做个可能不太恰当的比喻: 人想让狗帮忙逮只兔子,可是人说话狗听不懂,于是人发明了一种介乎人言和狗语之间的语言,即口令。 人想让电脑帮忙做计算,可是人话电脑听不懂,于是人发明了一种介乎人言和汇编机器码之间的语言,即C语言。 人对狗的口令得让人容易学、也得让狗容易懂。 C语言同样得让人容易学、也得让电脑容易懂。 相比之下C++、Java就是人学得费劲、电脑也经常闹不懂。
x_xx_xxx_xxxx 2017-08-17
  • 打赏
  • 举报
回复
引用 14 楼 zhao4zhong1 的回复:
底层开发到处充斥着边界、异常、溢出、……且动不动就不支持动态内存分配,动不动就会发生掉电、断网、……各种意外,用C++开发,那不是火中取栗吗?
那 c 或 汇编 才是底层开发的王道?
x_xx_xxx_xxxx 2017-08-17
  • 打赏
  • 举报
回复
引用 17 楼 zhao4zhong1 的回复:
计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……
赵老师,再借楼问您一个问题。(关于 windows 应用程序开发的问题) 问题: 有一个已经运行的程序(.exe),现在只有这个程序存在的路径和名字(因为程序名和窗口标题名可能不同、且这个程序可同时存在多个),我怎么获取这个程序的 句柄(HWND)。 来源: 我需要写一个程序A,在这个程序中启动另一个程序B(仅知道名称B.exe),我如何在A程序中操作或后台模拟点击B程序? 计划: 1.获取 B 的 HWND hWnd; 2.根据 hWnd 遍历 所有的 控件,获取控件的内容信息(hwnd),并进行有选择的点击; 3.点击后,获取新的控件信息,循环继续操作。 目前卡在了第一步~
黑娃 2017-08-16
  • 打赏
  • 举报
回复
c11和c17分别是什么时候出来的? 我连c11都不太熟悉了。。。
赵4老师 2017-08-16
  • 打赏
  • 举报
回复
引用 5 楼 x_xx_xxx_xxxx 的回复:
[quote=引用 4 楼 XinYaping 的回复:] 底层的支持,C/C++ 是不会减少也不会变的。只是在C++11/C++17方面,新增很多新的特性,使开发更简单。
这会不会让 C++ 的运行效率(尤其是针对底层驱动开发)有所降低?[/quote] 会。我觉得。
x_xx_xxx_xxxx 2017-08-16
  • 打赏
  • 举报
回复
引用 4 楼 XinYaping 的回复:
底层的支持,C/C++ 是不会减少也不会变的。只是在C++11/C++17方面,新增很多新的特性,使开发更简单。
这会不会让 C++ 的运行效率(尤其是针对底层驱动开发)有所降低?
YapingXin 2017-08-16
  • 打赏
  • 举报
回复
底层的支持,C/C++ 是不会减少也不会变的。只是在C++11/C++17方面,新增很多新的特性,使开发更简单。
赵4老师 2017-08-16
  • 打赏
  • 举报
回复
引用 13 楼 skyway16s 的回复:
[quote=引用 11 楼 zhao4zhong1 的回复:] 用高级语言开发驱动,是作死的节奏。我觉得。
我记得C11以前的版本好像可以用C++写底层驱动的吧[/quote] 底层开发到处充斥着边界、异常、溢出、……且动不动就不支持动态内存分配,动不动就会发生掉电、断网、……各种意外,用C++开发,那不是火中取栗吗?
街角男孩 2017-08-16
  • 打赏
  • 举报
回复
引用 11 楼 zhao4zhong1 的回复:
用高级语言开发驱动,是作死的节奏。我觉得。
我记得C11以前的版本好像可以用C++写底层驱动的吧
YapingXin 2017-08-16
  • 打赏
  • 举报
回复
引用 5 楼 x_xx_xxx_xxxx 的回复:
[quote=引用 4 楼 XinYaping 的回复:] 底层的支持,C/C++ 是不会减少也不会变的。只是在C++11/C++17方面,新增很多新的特性,使开发更简单。
这会不会让 C++ 的运行效率(尤其是针对底层驱动开发)有所降低?[/quote] 运行效率会不会降低,要看运行时、编译器编译出来的代码。 不管语法怎么变,最终CPU上跑的还是编译出来的机器码,对吧。 我不能猜测说运行效率高了或者低了,但是仅凭增加一些高级语法就说运行效率降低了,这显然是没道理的,对吧。 说不定随着编译器版本的提高,修复了一些bug,导致编译出来的二进制代码运行效率提高了呢,难道没有这种可能性吗?
赵4老师 2017-08-16
  • 打赏
  • 举报
回复
用高级语言开发驱动,是作死的节奏。我觉得。
加载更多回复(6)
2011年12月8日,ISO正式发布了新的C语言的新标准C11,之前被称为C1X,官方名称为ISO/IEC 9899:2011。 新的标准提高了对C++的兼容性,并增加了一些新的特性。这些新特性包括: 对齐处理(Alignment)的标准化(包括_Alignas标志符,alignof运算符, aligned_alloc函数以及头文件。 _Noreturn 函数标记,类似于 gcc 的 __attribute__((noreturn))。 _Generic 关键字。 多线程(Multithreading)支持,包括:_Thread_local存储类型标识符,头文件,里面包含了线程的创建和管理函数。 增强的Unicode的支持。基于C Unicode技术报告ISO/IEC TR 19769:2004,增强了对Unicode的支持。包括为UTF-16/UTF-32编码增加了char16_t和char32_t数据类型,提供了包含unicode字符串转换函数的头文件. 删除了 gets() 函数,使用一个新的更安全的函数gets_s()替代。 增加了边界检查函数接口,定义了新的安全的函数,例如 fopen_s(),strcat_s() 等等。 增加了更多浮点处理宏。 匿名结构体/联合体支持。这个在gcc早已存在,C11将其引入标准。 静态断言(Static assertions),_Static_assert(),在解释 #if 和 #error 之后被处理。 新的 fopen() 模式,(“…x”)。类似 POSIX 中的 O_CREAT|O_EXCL,在文件锁中比较常用。 新增 quick_exit() 函数作为第三种终止程序的方式。当 exit()失败时可以做最少的清理工作。 _Atomic类型修饰符和头文件。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧