小编use*_*850的帖子

为项目使用多个代码文件有什么好处?(C++)

在单个项目中使用多个source(.cpp)和header(.h)文件有什么好处?

这只是一个优惠的事情还是有真正的好处?

c++ code-organization project-files

13
推荐指数
2
解决办法
5109
查看次数

消息循环如何使用线程?

我有点困惑,想知道我是否被误导,在一个单独的帖子中我被告知"新线程只有在你明确地创建它们时才会被创建.C++程序默认是单线程的." 当我打开我没有在ollydbg中显式创建新线程的程序时,我多次注意到通常有2个线程在运行.我想了解消息循环如何工作而不停止执行,我得到的解释非常不足以解释它是如何工作的.

消息循环是创建新线程还是占用主线程?如果它接受主线程它是否在执行其他所有操作后执行此操作而不管代码顺序如何?如果它不执行此操作但仍占用主线程,它是否会生成一个新线程,以便程序可以执行而不是卡在消息循环中?

编辑:通过实验解决了我的大部分问题.消息循环占用主线程和代码后面的任何代码:

while (GetMessage (&messages, NULL, 0, 0))
{
    TranslateMessage(&messages);
    DispatchMessage(&messages);
}
return messages.wParam;
Run Code Online (Sandbox Code Playgroud)

除非执行特殊操作以使其执行,否则将不会执行,因为程序卡在消息循环中.在执行的窗口过程中放置​​一个无限循环会导致程序崩溃.我仍然不明白多线程的神秘感,但在我想要的程度.

c++ winapi multithreading messages

3
推荐指数
1
解决办法
3976
查看次数

如果从未调用函数,编译器在创建程序时是否省略它?

当编译器运行其优化时,它是否省略了从未调用过的函数?我记得读过一些不包含不必要文件的内容,因为它会在程序中造成不必要的膨胀,所以我只能从该语句中假设它在编译时确实包含了从未使用的所述函数,但我认为没有任何逻辑编译器不删除它们的原因我认为大多数现代编译器可能会删除额外的未使用函数.

c++ optimization performance

3
推荐指数
2
解决办法
1364
查看次数

为什么有些人将 f 附加到变量的末尾?

在本教程中,我阅读OGRE3D这里程序员不断增加f在他初始化,任何变量的末尾喜欢200.00f0.00f因此我决定删除f,看看它是否编译和它编译就好了,什么是加点f的变量结束?

编辑:所以你是说如果我用200.03它初始化一个变量不会将它初始化为一个浮点数,但如果我要这样做200.03f呢?如果不是,那么 f 在哪里变得有用呢?

c++

1
推荐指数
1
解决办法
2338
查看次数