小编use*_*612的帖子

C++不需要堆栈?

老师第一次向我介绍C++,其中一个最初的定义是关于"基于堆栈的语言",如Java,C和C++.

现在我在回复中读到这个,我老实地感到困惑.

C++是基于堆栈的语言,但不需要堆栈?

c++ standards stack

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

Clang没有为x86以外的平台编译代码

我在Ubuntu 12.04 x86 64位下,我已llvm/clang成功从官方svn存储库编译了32位版本.

我现在正在尝试为ARM编译c ++代码,此时我并不关心像armv5vs 这样的平台版本armv7a,我专注于平台交换机的工作原理clang:

llvm-config --targets-built
ARM CellSPU CppBackend Hexagon Mips MBlaze MSP430 NVPTX PowerPC Sparc X86 XCore
Run Code Online (Sandbox Code Playgroud)

但以下命令不起作用

clang++ -arch arm soft.cpp -o soft_ARM
Run Code Online (Sandbox Code Playgroud)

输出是

clang-3: warning: argument unused during compilation: '-arch arm'
Run Code Online (Sandbox Code Playgroud)

我也曾尝试GCC样变体或其他组合一样-arch=arm,-arch=armv7a,-march=armv5但似乎没有任何工作.

在阅读了一些文档后,我注意到clang仅适用于ARM OS X/Darwin下的ARM,并且它不适用于其他操作系统下的ARM.

我如何用clang编译ARM以及它的输出llvm-config --targets-built是什么?

c++ arm llvm clang

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

Android cmake是否兼容较新的NDK版本?

我有兴趣将一个cmake脚本移植到Android,到目前为止我已经找到了这个项目,问题是它看起来很旧,在安装文件中也只有对NDK r5b的引用,这真的很老了发布.

Android有替代构建脚本吗?

android cmake android-ndk

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

如何在Mac上构建(OpenGL Engine Ogre)SDK?

我在mac上熟悉Ogre openGL引擎.我按照这个步骤在mac上设置SDK版本1.8.0

  1. 转到http://www.ogre3d.org并单击"下载".
  2. 接下来,单击Download a prebuilt SDK.
  3. 下载最新的OSX SDK.
  4. 双击.dmg以安装它
  5. 将OgreSDK文件夹拖放到您想要安装SDK的任何位置
  6. 启动Xcode并加载OgreSDK/Samples/Samples.xcodeproj以构建样本

我在最后一步有问题,当我打开.xcodeproj文件并尝试构建All_Build目标时,它会出现此错误:

make -f /Applications/OgreSDK/CMakeScripts/ReRunCMake.make
make[1]: *** No rule to make target `/Applications/CMake 2.8-8.app/Contents/share/cmake-2.8/Modules/CMakeCCompiler.cmake.in', needed by `CMakeFiles/cmake.check_cache'.  Stop.
make: *** [/Applications/OgreSDK/CMakeFiles/ZERO_CHECK] Error 2
Command /bin/sh failed with exit code 2
Run Code Online (Sandbox Code Playgroud)

opengl macos ogre

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

链接后剥离共享库是否安全?

让我们假设我得到了lib.so,我编译二进制文件mySoft并将其链接到lib.so.

在这一点上,考虑到一切都按预期工作,是否可以安全地取走lib.sostrip -s lib.so

为了清楚起见我对将其他二进制文件链接到我lib.so之后mySoft正确生成并不感兴趣,我只对继续mySoft工作并获得一些磁盘空间感兴趣,并且可能在性能方面有一点小优势.

c++ strip shared-libraries static-libraries

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

可以从程序员的角度实现EGL吗?

EGL 看起来像是有史以来记录最差的 Khronos 项目,我确实找不到有关该项目的任何具体信息,但它看起来很有前途,最后有一个 GLUT/FreeGlut 的标准化替代方案。

我的观点是,假设我想要在 linux 桌面上的窗口中或没有窗口(没有装饰)的应用程序中使用 EGL 上下文,作为程序员,我应该向谁咨询以获得该 EGL 上下文?例如,如果我使用 QT,那么 QT 是否应该实现 EGL?奥格?我?

opengl freeglut egl

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

C++11 - 移动语义在构造上很慢

这段代码

#include <iostream>
#include <vector>

struct obj
{
  std::string name;
  int age;
  float money;

  obj():name("NO_NAME"),age(0),money(0.0f){}
  obj(const std::string& _name, const int& _age, const float& _money):name(_name),age(_age),money(_money){}

  obj(obj&& tmp): name(tmp.name), age(tmp.age), money(tmp.money) {}
  obj& operator=(obj&&) {return *this;}

};

int main(int argc, char* argv[])
{
  std::vector<obj> v;
  for( int i = 0; i < 5000000; ++i )
  {
    v.emplace_back(obj("Jon", 45, 500.6f));
  }
  return(0);
}
Run Code Online (Sandbox Code Playgroud)

比等效的 with 慢大约 2 倍v.push_back(obj("Jon", 45, 500.6f));,我不明白为什么。

我已经用 botg++ 4.7.2clang++ 3.3.

我错在哪里?


现在我已经更正了我的移动构造器,我将添加更多

这是一个 …

c++ struct move-semantics c++11

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