吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1669|回复: 6
收起左侧

[已解决] 关于《Windows核心编程》书中概念的问题

 关闭 [复制链接]
_默默_ 发表于 2019-9-17 11:05
本帖最后由 _默默_ 于 2019-9-17 16:14 编辑

书中有多处强调:如果写的是C/C++代码,就要去调用C++运行库的函数,不要调用Windows函数。
例如:如果写的是C/C++代码,就绝对不要调用CreateThread,相反,正确的选择是使用MicrosoftC++运行库函数_beginthreadex。

问题是:什么叫C/C++代码?  我们写windows程序不都是通过C/C++代码调用windows函数的么?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

pikachu888 发表于 2019-9-17 11:25
本帖最后由 pikachu888 于 2019-9-17 11:47 编辑

由于历史原因,C/C++运行库不是为多线程应用程序而设计的,所以为了保证其中的某些变量和函数的安全,C/C++程序不应该对Windows系统的类型有任何的依赖,因此不能用CreateThread


那么必须创建一个数据结构,_beginthreadex会返回新建线程的句柄,并使之与使用了C/C++运行库函数的每个线程所关联。


当在调用C/C++运行库函数时,那些函数必须读取主调自己的线程的数据块,从而避免影响其他线程

免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
天尊小帅 + 2 + 1 用心讨论,共获提升!

查看全部评分

小可爱~ 发表于 2019-9-17 13:40
善用百度功能
秒杀多线程第二篇 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别
话说c11和c++11都增加了线程标准库了, 所以现在基本上没用人用其他方法了吧???
C语言线程标准库
c++线程标准库

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
_默默_ + 1 + 1 谢谢@Thanks!

查看全部评分

Overcoder 发表于 2019-9-17 13:53
调用VC的库,可以只要装VC就行。
否则写的软件还要限定操作系统版本?
jamesmeng 发表于 2019-9-17 14:27
楼主把C/C++与操作系统API搞混了。操作系统API与使用什么语言调用无关。
 楼主| _默默_ 发表于 2019-9-17 16:14
pikachu888 发表于 2019-9-17 11:25
由于历史原因,C/C++运行库不是为多线程应用程序而设计的,所以为了保证其中的某些变量和函数的安全,C/C++ ...

谢谢大佬
 楼主| _默默_ 发表于 2019-9-17 16:16
小可爱~ 发表于 2019-9-17 13:40
善用百度功能
秒杀多线程第二篇 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别
话说c11和c ...

谢谢大佬
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-27 02:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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