小编Aut*_*tAM的帖子

如何将char*转换为wchar_t*?

我试过实现这样的函数,但不幸的是它不起作用:

const wchar_t *GetWC(const char *c)
{
    const size_t cSize = strlen(c)+1;
    wchar_t wc[cSize];
    mbstowcs (wc, c, cSize);

    return wc;
}
Run Code Online (Sandbox Code Playgroud)

我的主要目标是能够在Unicode应用程序中集成普通的char字符串.我们非常感谢您提供的任何建议.

c++ unicode winapi mingw type-conversion

48
推荐指数
3
解决办法
16万
查看次数

在100%C++环境下为Android编程?

我一直在为我未来的游戏开发C++游戏引擎运行时环境,并开始将android视为一个平台.我注意到它与Java紧密绑定并大量使用Java VM.

但是否可以在Android NDK中维持完整的C++运行时环境?我没有任何反对Java的东西,如果必须,我准备使用它,但性能是我最关心的问题之一(我打算让我的游戏资源密集),特别是在手机上.

如果可以使用完整的C++环境,我将如何在Eclipse Indigo CDT中实现它?我是否能够提前为Android创建已编译的游戏可执行文件以获得最佳性能?我是否需要在Eclipse中安装任何其他插件?我可以使用MinGW来编译我的游戏,还是需要使用不同的编译器?如果我不得不以某种方式使用Java,那么甚至需要编译C++代码吗?这些都是我想要回答的问题,以便在Eclipse IDE中获得稳定的开发环境.

请知道我对Android开发和一般的多平台编程仍然相当新.我的目标是创建一个能够充分利用新硬件的游戏引擎,特别是在手机上!

感谢您提出的任何建议!

c++ android mingw android-ndk eclipse-indigo

11
推荐指数
1
解决办法
2万
查看次数

在Java中,将Thread.sleep(1)用于空闲线程是否有效?

我的线程中有一个主循环,其中一部分测试空闲布尔值是否为真.如果是,它将调用Thread.sleep(1)循环的每次迭代.这是一种有效的方法吗?我的目标是让线程在空闲时占用最少的CPU.

java multithreading sleep

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

我应该担心std :: vector的内存碎片吗?

我应该担心std :: vector的内存碎片吗?如果是这样,有没有办法帮助防止它?我并不总是预测我的程序在PC上运行,它们也可能在嵌入式设备/游戏机上运行,​​所以我不能总是依赖虚拟内存.

然后我再次相信使用动态大小的数组而不是静态数组会更有效,因此只有在需要时才会分配内存.它还可以简化我的程序的设计过程.有没有办法有效地实现这一目标?

谢谢你的建议!

c++ stl vector

7
推荐指数
2
解决办法
3884
查看次数

为什么模板类函数必须在同一个翻译单元中声明?

以这段代码为例:

/*
 * foo.h
 *
 *  Created on: Nov 5, 2011
 *      Author: AutoBotAM
 */

#ifndef FOO_H_
#define FOO_H_

template<typename Type>
class Foo
{
public:
    void Bar(Type object);
};


#endif /* FOO_H_ */
Run Code Online (Sandbox Code Playgroud)

/*
 * foo.cpp
 *
 *  Created on: Nov 5, 2011
 *      Author: AutoBotAM
 */

#include <iostream>
using namespace std;

#include "foo.h"

template<typename Type>
void Foo<Type>::Bar(Type object)
{
    cout << object;
}
Run Code Online (Sandbox Code Playgroud)

/*
 * main.cpp
 *
 *  Created on: Oct 15, 2011
 *      Author: AutoBotAM
 */ …
Run Code Online (Sandbox Code Playgroud)

c++ templates mingw compilation

6
推荐指数
2
解决办法
3322
查看次数

空"释放"ASSERT宏崩溃程序?

看看这段代码:

#include <cassert>

#ifdef DEBUG
#define ASSERT(expr) assert(expr)
#else
#define ASSERT(expr)
#endif /* DEBUG */
Run Code Online (Sandbox Code Playgroud)

只有在我DEBUG定义的情况下,程序才会运行,否则它将挂起并终止,没有结果.我在Eclipse Indigo CDT中使用MinGW.建议表示赞赏!

c++ macros

6
推荐指数
2
解决办法
297
查看次数

std :: ostringstream没有返回有效的字符串

我正在尝试使用std :: ostringstream将数字转换为字符串(char*),但它似乎不起作用.这是我的代码:

#include <windows.h>
#include <sstream>

int main()
{
    std::ostringstream out;
    out << 1234;

    const char *intString = out.str().c_str();

    MessageBox(NULL, intString, intString, MB_OK|MB_ICONEXCLAMATION);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

生成的消息框中没有文本.

这让我相信调用out.str().c_str()返回一个无效的字符串,但我不确定.由于我已经把这个程序缩减到目前为止,我仍然遇到问题,我一定犯了一个令人尴尬的简单错误.感谢帮助!

c++ winapi std ostringstream

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

WS_EX_APPWINDOW做什么?

这只是一个没有文档的已弃用的窗口样式,或者我在搜索它时遇到了一个缺陷.

我的问题是,这面旗帜是做什么的?是否有我可能需要的支持等价物?

建议表示赞赏!

winapi

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

如何创建可以初始化C++数据类型的类?

标题基本上都说明了一切.我主要想这样做,这样我就可以创建一个对象(比如一个自定义字符串对象),可以初始化其他API中其他函数的参数.以下是我尝试使用自定义整数类的示例:

#include <iostream>
using namespace std;

class test
{
public:
    int member;
    test(int i) : member(i) {}

    friend int &operator=(int &i, test t);
};

int &operator=(int &i, test t)
{
   return (i = t.member);
}

int main()
{
    int i;
    test t = 90;

    cout << (i = t);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

不幸的是我收到一个错误,说operator =需要是一个成员函数.我理解C++标准的目标是防止赋值运算符的静态和非成员重载被实现,但有没有其他方法可以做到这一点?感谢您的任何帮助/建议!

c++ overloading friend assignment-operator operator-keyword

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

如何在Win32中操作键盘输入?

或者澄清这个问题,我怎么能让Windows认为我碰到了一把钥匙,当我真的没有?我知道我可以使用SendMessage并在那里指定输入,但是不仅我的应用程序会收到它吗?我希望控制所有接收"假"输入的应用程序.有什么建议?

c++ winapi input

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