小编Raj*_*eer的帖子

VS2012,C++ 11和内存泄漏检测(VLD与CRTDBG)

我在CRTDBG中检测到了一堆内存泄漏,但发现它们很难跟踪,因此安装了Visual Leak Detection.这显示了一致的泄漏数量,我追溯到没有虚拟析构函数的抽象类.我修复了这个问题,VLD现在在我的应用程序中没有显示内存泄漏,但是CRTDBG仍然会这样做,并且它一直显示大约100个左右的泄漏.

可以使用C++ 11信任这些工具中的任何一个吗?我大量使用独特的指针,几乎没有任何新的对象没有它们,所以无法理解泄漏的来源.

c++ memory-leaks c++11 visual-studio-2012

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

Android NDK r9b和编译C++ 11

我正在尝试使用NDK r9b编译一些C++ 11代码,但无论我尝试什么它都不起作用.没有C++ 11功能的编译工作正常.

这是我的Application.mk:

NDK_TOOLCHAIN_VERSION := 4.8
APP_STL := gnustl_static
Run Code Online (Sandbox Code Playgroud)

这是我的Android.mk:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

FILE_LIST := $(wildcard $(LOCAL_PATH)/*.cpp)

LOCAL_CPPFLAGS := -std=c++11 -pthread -frtti -fexceptions
LOCAL_MODULE    := RAGEAndroid
LOCAL_SRC_FILES := jni.c $(FILE_LIST:$(LOCAL_PATH)/%=%)
LOCAL_LDLIBS    := -llog -lm -landroid -lGLESv3

include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)

如果没有运气,我也试过设置以下内容:

LOCAL_CFLAGS := -D__GXX_EXPERIMENTAL_CXX0X__
LOCAL_CPPFLAGS := -std=gnu++11 -pthread -frtti -fexceptions
Run Code Online (Sandbox Code Playgroud)

我确保Eclipse在C++ general-> Paths and Symbols中有以下路径

(ndk path)/sources/cxx-stl/gnu-libstdc++/4.8/include
(ndk path)/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include
Run Code Online (Sandbox Code Playgroud)

我有一个C文件(jni.c)和几个测试cpp/hpp.一切都编译好没有任何C++ 11功能,包括像<thread>或<memory>之类的东西不会引起任何抱怨,但是当实际创建一个std :: thread对象时,我得到"Type"std :: thread'可以不解决".这也适用于我尝试使用的其他功能(std :: unique_ptr,std :: shared_ptr,std :: move()等).

我已经阅读了许多关于让C++ 11编译的主题,但似乎没有任何工作,我相信我已经错过了一些但却无法弄清楚它是什么.任何帮助,将不胜感激!

编辑:如果我打印__cplusplus它显示201103L,所以看起来它使用正确的版本.

编辑2:std :: atomic似乎工作正常.

android android-ndk c++11

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

Xcode 6.1 - 添加外部源文件夹引用并自动编译它的内容

有没有办法将带有C++代码的外部文件夹添加到我的项目中,并且能够编译它的内容而无需在"编译源代码"下添加所有内容?如果添加新源,则会自动编译.

我已经尝试在"编译源代码"中添加外部文件夹,但它出现了,但它内部没有任何内容被编译.

链接到

xcode xcode6

6
推荐指数
0
解决办法
270
查看次数

SELECT查询中的SQL和临时行

我正在使用一个自定义组合框类,该组合框使用如下SQL查询从数据库填充:

playerCB->setDatabaseQuery("SELECT player.id, player.name FROM player WHERE player.team_id = " + QString::number(teamID) + " ORDER BY player.name;");
Run Code Online (Sandbox Code Playgroud)

(该类在内部保留每个返回行的所有选定值)。

我想在结果中添加一个临时行,其中player.id = -1和player.name =(自定义播放器),但是这些不应该存在于数据库中。仅当我无法对combobox类进行任何更改时,才应使用SQL查询来完成。我将如何去做,我是否必须使用临时表或其他东西?

mysql sql

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