不要被各种专业术语吓倒

2023-11-29 15:52
文章标签 不要 专业术语 吓倒

本文主要是介绍不要被各种专业术语吓倒,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

有一个东西,是如此奇妙,今天我们需要讲讲。

在不同的函数中,这个东西有着不同的名字,但实际它都是同一个东西。

例如,
RegisterWaitForSingleObject 这个 API,它的原型如下:
BOOL
RegisterWaitForSingleObject(
[out] PHANDLE phNewWaitObject,
[in] HANDLE hObject,
[in] WAITORTIMERCALLBACK Callback,
[in, optional] PVOID Context,
[in] ULONG dwMilliseconds,
[in] ULONG dwFlags
);
请先看其中的 Context 参数,猜猜它是做什么的。

再来看看 SetWindowSubclass 的函数原型:
BOOL SetWindowSubclass(
[in] HWND hWnd,
[in] SUBCLASSPROC pfnSubclass,
[in] UINT_PTR uIdSubclass,
[in] DWORD_PTR dwRefData
);
看看其中的 dwRefData 这个参数。

再来看看 EnumWindows:
BOOL EnumWindows(
[in] WNDENUMPROC lpEnumFunc,
[in] LPARAM lParam
);
其中有一个 lParam 参数。

最后是 CreateThread,也有一个类似的 lpParameter 参数。
HANDLE CreateThread(
[in, optional] LPSECURITY_ATTRIBUTES lpThreadAttributes,
[in] SIZE_T dwStackSize,
[in] LPTHREAD_START_ROUTINE lpStartAddress,
[in, optional] __drv_aliasesMem LPVOID lpParameter,
[in] DWORD dwCreationFlags,
[out, optional] LPDWORD lpThreadId
);

以上这些参数,你是否感觉,冥冥之中,它们都是同样的东西?

你的感觉是对的。

它们确实是同样的一个东西,即函数将会原封不动的传递给你的东西,至于它的值是什么,函数本身并不关心,它只是将参数的值传递给你(调用者)。
调用者负责解释参数值的意义。

如果需要传递比单个指针更多的上下文,该怎么办?如果你想传递,比如说,两个指针怎么办?然后将两个指针放在一个结构中,并将指针传递到该结构。

执行此操作时,会引入生存期问题,因此请确保您有一个计划来决定谁负责在不再需要内存时释放内存。

你可能会问了:”为什么 MSDN中 没有这方面详细的描述呢? 否则,调用 CreateThread 的用户将不知道该参数需要是指向此结构的指针,并且线程过程需要释放内存。”

MSDN 中没有与之相关的描述,因为 MSDN 并不关心。这完全是程序中的约定。你有责任确保调用 CreateThread 的代码和线程过程就线程参数的含义以及应如何管理它达成一致。

总结

所以,亲爱的开发者,不要被 MSDN 中各种你没有见过的名称术语吓倒,当你深入了解了事物的本质,就会明白这些这是台面上的东西,没有什么可以畏惧的。

最后

Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《Some call it context, others call it reference data, but whatever it is, it’s yours》

这篇关于不要被各种专业术语吓倒的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/433423

相关文章

模具要不要建设3D打印中心

随着3D打印技术的日益成熟与广泛应用,模具企业迎来了自建3D打印中心的热潮。这一举措不仅为企业带来了前所未有的发展机遇,同时也伴随着一系列需要克服的挑战,如何看待企业引进增材制造,小编为您全面分析。 机遇篇: 加速产品创新:3D打印技术如同一把钥匙,为模具企业解锁了快速迭代产品设计的可能。企业能够迅速将创意转化为实体模型,缩短产品从设计到市场的周期,抢占市场先机。 强化定制化服务:面

大家不要退小黄车的押金了

大家好,首先我不是ofo的任何人,我只是一名小黄车的使用者,从去年开始就一直关注这ofo、摩拜的信息,最近这段时间ofo陷入了囧境,大家都担心自己的押金,全都去退还押金,这样无疑是给ofo有一层打击,因为本来资金已经很紧张了,ofo的用户也不在少数,没有资本的涌入,它也挺可怜的,它去哪里给你们退钱呢。           ofo的诞生,给我们提供了方便我们是毋庸置疑的,不光是

社交平台找旅游搭子一起旅行靠谱吗?答案是不要太爽!

哈喽小伙伴们,今天要跟大家分享一个超级棒的小程序——咕哇找搭子!作为一个热爱自由行的人,最头疼的就是找不到志同道合的小伙伴。但自从用了这个咕哇小程序后,一切都变得简单又充满乐趣啦!🎉 上个月,我计划去云南旅行,就试着在咕哇上发布了我的行程信息。没想到很快就收到了几位朋友的回应,其中一位叫小莲的朋友特别投缘。我们不仅目的地一样,就连兴趣爱好都出奇地相似,于是我们就决定一起出发啦!👭

python爬虫: 抓取任意歌手的歌词,简直不要太骚

估计大家对歌词的抓取一般是通过抓取网页内容的方式来进行,今天,LZ就教大家一个简单的方法。对大家进行歌词分析来说,又多了一条捷径。 本篇文章是通过请求qq音乐的某一个文件来进行获取的,这个骚操作恐怕还没什么人发现吧,娃哈哈~ 看完过后你就会觉得,这简直不要太骚~ 二话不说, 先上代码: #!/usr/bin/python# -*- coding:utf-8 -*-import reque

不要替换运行中JVM的相关jar包

文章目录 具体场景具体原因探索总结 在java程序运行时,如果替换classpath下的某个jar包文件,可能会导致程序出现ClassNotFoundException**。 具体场景 我们要升级线上服务时,可能经常只需要替换其中一两个jar包即可完成升级。有时我们为了方便,经常会先替换完jar包再进行重启。其实这样的做法会有一个隐患,如果在你重启之前程序需要从这个jar包

连载:面向对象葵花宝典:思想、技巧与实践(6) - 不要说你懂“类”

方以类聚,物以群分——《周易 易传》。  类是面向对象领域里最基础的一个概念,也是面向对象分析和设计的基石。  然而,如此重要的一个概念,竟然很难找到深入的说明,绝大部分介绍面向对象的书籍或者资料基本上都是这么解释的:“类是一组对象的抽象”,这个解释看起来清晰明了,但实际上犯了一个逻辑上的错误:以未明确的概念来解释待明确的概念,什么是对象,什么是抽象,我们都还不知道,你却用这个概

春节如何带奶娃自驾游?不要忘了儿童安全座椅

春节放假,除了合家团圆,有些平常难得有假的人免不了想出门旅游一趟。而现在,最流行的就是自驾游,特别是对那些带了小孩的年轻爸妈而言,带着大包小包一堆东西和一个嗷嗷待哺的娃去挤客车、火车,怎么想怎么觉得不方便。可是,小朋友毕竟不同于大人,要带他们出门,需要注意什么呢?   我有一次带婴儿(当时11个月)长时间(16天)去云南旅行的经历,而且这个春节还会带孩子(20个月)去海南耍15~16天。所

js 判断是否等于0不要用!

var a = $('#a').val(); // a等于0// 不要用!a,这个可能等于false,因为a可能被认为是字符串if(!a){}// 可以用if(a == 0){}

不要让制作PPT浪费你宝贵的时间,试试使用ChatGPT三分钟写一个完美的PPT

用AI或ChatGPT制作PPT的方法其实有很多种 下面我会用超级简单的语言,一步步教你怎么做,保证你三分钟内搞定PPT 所有需要的方法和工具都在内容里了 并且很简单,只需要输入一个标题就可以完成 如果觉得只输入标题给AI发挥的空间太大,那也可以上传你的文件给GPT,让它给你生成PPT 我们看下这个AI PPT都有哪些功能? AI PPT 地址:http://ppt.yixiaai.c

不要让经验禁锢你的编程思维

最近我正在读Do More Faster这篇文章,虽然此文好像有点是在为TechStars的创建做宣传,但是还是不失为一篇好文。最让我印象深刻的是,有些明明已经有了成功的条件,至少创业资金是不缺的,但是事到临头,却不知道该如何着手去编程。学会编程,他们就能够实现自己的想法,学以致用了。 打个比方,这就像心中有一些关于音乐的设想,那么你需要学习如何演奏才能把它表达出来。当然,其中的学习过