小编Kai*_*aan的帖子

如何在批处理文件中持久设置Windows 7中的变量?

我试图使用bat文件在Windows 7中设置PATH环境变量; 但它似乎没有用.

我正在使用这个Windows命令:

set PATH=%cd%;%path%
pause
Run Code Online (Sandbox Code Playgroud)

但是它似乎只对此cmd实例有效.我希望它是永久性的,因为我首先设置PATH,然后运行一个需要在该文件夹中找到库的程序.

windows path batch-file environment-variables

46
推荐指数
4
解决办法
8万
查看次数

Android - 使用NDK的OpenGL ES 2.0教程?

我正在寻求OpenGL ES 2.0在Android 上学习,我发现的教程几乎都是使用的SDK with Java.我想使用本机代码,所以我想通过NDK来实现.我发现的唯一教程/示例就是样本NDK本身.

我在哪里可以找到一些NDK OpenGL ES 2.0教程?如果那里没有好的教程,是否可以使用Java OpenGL教程来学习如何在NDK中使用它?例如,方法是否将1:1从java映射到本机?

android opengl-es android-ndk

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

将秒转换为std :: chrono :: duration?

我正在使用c ++ 11 <chrono>并且有一些秒表示为double.我想在这段时间内使用c ++ 11来休眠,但我无法理解如何将它转换为需要的std::chrono::duration对象std::this_thread::sleep_for.

const double timeToSleep = GetTimeToSleep();
std::this_thread::sleep_for(std::chrono::seconds(timeToSleep));  // cannot convert from double to seconds
Run Code Online (Sandbox Code Playgroud)

我已经锁定了<chrono>参考,但我发现它相当令人困惑.

谢谢

编辑:

以下给出了错误:

std::chrono::duration<double> duration(timeToSleep );
std::this_thread::sleep_for(duration);
Run Code Online (Sandbox Code Playgroud)

错误:

:\program files (x86)\microsoft visual studio 11.0\vc\include\chrono(749): error C2679: binary '+=' : no operator found which takes a right-hand operand of type 'const std::chrono::duration<double,std::ratio<0x01,0x01>>' (or there is no acceptable conversion)
2>          c:\program files (x86)\microsoft visual studio 11.0\vc\include\chrono(166): could be 'std::chrono::duration<__int64,std::nano> &std::chrono::duration<__int64,std::nano>::operator +=(const std::chrono::duration<__int64,std::nano> &)'
2>          while …
Run Code Online (Sandbox Code Playgroud)

c++ c++11 c++-chrono

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

visual studio中的_ITERATOR_DEBUG_LEVEL错误

我试图在Windows 7上的Visual Studio 2010中编译JRTPLIB.这是一场真正的噩梦...但我至少要缩小问题范围.

这是留下的.

Error   3   error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in client.obj   C:\Users\Johan-bar\Documents\Visual Studio 2010\Projects\client\client\jrtplib.lib(rtpsession.obj)  client
Run Code Online (Sandbox Code Playgroud)

我googled一吨,原因似乎是一个是在调试模式下编译而另一个是在发布模式下编译.

我的目标是编译一个Release可执行文件,因为我想在不同的计算机上进行测试.

1)哪一个不处于发布模式,JRTPLIB或客户端(我的,正在尝试编译的那个)?

2)如何更改ITERATOR_DEBUG_LEVEL?两者都使用运行时库/ MT和预处理器定义WIN32,_MT,以及我猜的默认值.

干杯

c++ compiler-construction winapi release visual-studio

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

Android NDK限制?

我对Android平台上本机代码的限制有疑问.

基本上我已经开发了一个本机C代码库,它使用UDP套接字进行SIP/RTP,并使用OpenAL进行音频录制/回放 - 基本上是整个应用程序.我们的想法是尽可能使用本机C代码而不是Java代码.我想这样做是因为我将在其他平台上使用它.

我的问题很简单 - 是否可以只使用Java进行GUI,然后使用本机代码进行所有处理?当我的本机代码尝试创建套接字,绑定它,录制音频,播放它等时会发生什么 - 因为它是本机代码,我是否需要为它设置权限(例如应用程序访问麦克风和诸如此类)或将它只是绕过这个东西,因为它的本机代码?原生代码可以像在PC上那样在Android上做任何想做的事吗?

对不起,如果不清楚; 告诉我,我会尽力改进它

谢谢

c permissions android native android-ndk

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

Mac上的iOS模拟器是运行i386架构,而不是armv7?

我有一些静态库,我已经构建用于armv7架构.当我尝试在我在iphone 5.0模拟器上测试的iOS项目中使用它们时,undefined symbols for architecture i386在我的静态库中出现错误告诉我.

所以我猜这意味着iphone模拟器需要为i386编译的库?那么模拟器有什么意义 - 为什么它不能模拟armv7架构呢?

因此,我可以测试静态库的唯一方法是连接物理iOS设备并运行它?

或者我弄错了?

architecture iphone arm i386 ios

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

如何在项目中实现良好的调试/日志记录功能

我正在做一个小项目,总共约3-4人.我希望有一个可靠的方法来调试应用程序,例如日志.是否有任何关于如何构建它的好资源?我从项目经理那里听到很多很好的日志记录功能对每个项目都很重要,但我不知道该怎么做.

c c++ debugging logging

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

android - javah找不到我的班级

我在使用JNI生成C头文件时遇到了麻烦javah.

这是我站在<project-dir>\bin目录中时使用的脚本:

javah -classpath C:\PROGRA~2\Android\android-sdk\platforms\android-8\android.jar com.test.JniTest
Run Code Online (Sandbox Code Playgroud)

作为回报,我得到:

ERROR: Could not find class file for 'com.test.JniTest'.
Run Code Online (Sandbox Code Playgroud)

即使班级JniTest肯定在\com\test.

我究竟做错了什么?

java-native-interface android android-ndk javah

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

面向数据的树遍历没有递归

我有一个这样的树结构:一个模型有一个根节点,每个节点有任意数量的子节点和任意数量的网格.

在我的应用程序中,很多时候都花费遍历这个树并进行计算,如视图截顶剔除和矩阵乘法.目前,它是天真地实现的,其中每个节点具有子节点和网格的向量,并且递归地遍历树.这很慢.

我一直在关注面向数据的设计,我喜欢它对缓存非常友好的想法.我一直在想这样的事情:

struct Mesh
{
    // misc data
    MeshID mMeshID;
}

// probably needs more information?
struct Node
{
    // begin and end index into Models 'mNodes'
    uint32_t mChildrenBegin;
    uint32_t mChildrenEnd;

    // as above but for meshes
    uint32_t mMeshesBegin;
    uint32_t mMeshesEnd;
}

struct Model
{
    std::vector<Node> mNodes;
    std::vector<Mesh> mMeshes;
}
Run Code Online (Sandbox Code Playgroud)

现在我需要遍历树以获得可见网格列表.在每个节点,我必须检查节点是否可见.以下分支机构:

  • 节点可见.它下面的所有子节点和网格也是可见的.不要深入这个分支.检查相同深度的其他节点.
  • 节点不可见.此节点或其下方没有子节点或网格可见.不要深入这个分支.检查相同深度的其他节点.
  • 该节点部分可见.某些节点和/或某些网格是可见的.必须深入到层次结构中.

树是静态的.在应用程序中加载模型后,树永远不会更改.所以我必须能够使用这些信息来获得有效的结构.

我很困惑如何处理这个问题.

几个问题;

  1. 如何在内存中布局节点?是第一个索引的根节点吗?是否根据深度添加了其他节点?
  2. 如何在不使用递归的情况下迭代树?除非我真的需要,否则我不想访问每个节点.例如,如果深度= 2的节点不可见,则不应测试其所有网格和子节点(及其网格),而是完全跳过.

c++ tree memory-management game-engine data-oriented-design

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

在给定的世界坐标处修改网格上的纹理

我正在制作一个编辑器,我想在其中构建地形图.我想用鼠标来增加/减少地形高度来创造山脉和湖泊.

从技术上讲,我有一个高度图,我想在我用鼠标选择的某个texcoord上进行修改.要做到这一点,我首先从屏幕坐标到世界位置 - 我已经做到了.下一步,从世界位置到选择正确的纹理坐标让我感到困惑.我怎么做?

c++ directx-11

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