为什么#include <pthread.h>导致警告?

最近想做一个小工具来练习C基础。做着做着想不到要用多线程。结果原来好好的代码,#include <pthread.h> 后,在包含以下调用的地方,全都出现了警告。如果不include就没事。

SendMessage(hBtnStop, WM_SETFONT, (WPARAM)hFont, NULL);

在网上查过一些资料,但也感觉没有解惑。警告内容如下:

[Warning] passing NULL to non-pointer argument 4 of 'LRESULT SendMessageA(HWND, UINT, WPARAM, LPARAM)' [-Wconversion-null]

另外,还有一个问题顺便也请教一下各位老师。因为我想用C语言写这个小工具,可是中间需要用到一个函数,通过控件ID来获取句柄。网上找到一个函数 GetDlgItem 这个函数我看他定义里面写着public,按理说这应该是C++的写法。C++虽然也看过几页书,但还没认真学。想先把C的基础学多一点。不知道有没有可能用纯C的库函数来代替GetDlgItem

因为不是专业程序员,相关经验也非常少。如果提问格式上有什么不对,请海涵。希望老师们帮助。谢谢。

阅读 1.3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进