小编Joo*_*kia的帖子

在CMake中创建目录

在CMake中,我想创建一个目录(如果它尚不存在).我怎样才能做到这一点?

cmake

126
推荐指数
3
解决办法
7万
查看次数

在C++中使用NULL?

可能重复:
你对C++中的指针使用NULL还是0(零)?

在C++中使用NULL或仅使用0值是个好主意吗?

在使用C++调用的C代码中是否存在使用NULL的特殊情况?像SDL?

c++ null

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

检查文件是目录还是文件

我正在编写一个程序来检查某些东西是文件还是目录.有没有比这更好的方法呢?

#include <stdio.h>

#include <sys/types.h>
#include <dirent.h>
#include <errno.h>

int isFile(const char* name)
{
    DIR* directory = opendir(name);

    if(directory != NULL)
    {
     closedir(directory);
     return 0;
    }

    if(errno == ENOTDIR)
    {
     return 1;
    }

    return -1;
}

int main(void)
{
    const char* file = "./testFile";
    const char* directory = "./";

    printf("Is %s a file? %s.\n", file,
     ((isFile(file) == 1) ? "Yes" : "No"));

    printf("Is %s a directory? %s.\n", directory,
     ((isFile(directory) == 0) ? "Yes" : "No"));

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

c posix

28
推荐指数
2
解决办法
9万
查看次数

可以手动抛出std :: bad_alloc吗?

我有这个代码..

 CEngineLayer::CEngineLayer(void)
 {
    // Incoming creation of layers. Wrapping all of this in a try/catch block is
    // not helpful if logging of errors will happen.

    logger = new (std::nothrow) CLogger(this);

    if(logger == 0)
    {
     std::bad_alloc exception;
     throw exception;
    }

    videoLayer = new (std::nothrow) CVideoLayer(this);

    if(videoLayer == 0)
    {
     logger->log("Unable to create the video layer!");

     std::bad_alloc exception;
     throw exception;
    }
 }

 IEngineLayer* createEngineLayer(void)
 {
    // Using std::nothrow would be a bad idea here as catching things thrown
    // from the …
Run Code Online (Sandbox Code Playgroud)

c++ throw new-operator bad-alloc

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

在XML/XSL文件中包含XML文件

所以目前我正在做一些XML-> XSLT->(HTML5/CSS3)工作.现在我有一个menu.xml文件,我想将它包含在XSL文件或XML页面中.我做了很多搜索,但我找不到直截了当的答案.

那么,如何将XML文件包含到另一个XML文件或XSL文件中?

编辑:通过包含,我的意思是从其他文件引用/加载它,而不是复制和粘贴它或只是嵌入它.

xml xslt

23
推荐指数
2
解决办法
4万
查看次数

CMake库输出的自定义目录

在CMake中,我似乎无法在../out/library中输出我的库,只有库.当我执行../out/library路径时,它告诉我它找不到库,就好像它想链接到它一样.

add_library(../out/JE3D ../source/CDeviceLayerSDL.cpp)
Run Code Online (Sandbox Code Playgroud)

有更多的文件,我只是在节省空间.当我这样做时,我得到了这个错误.

链接CXX静态库lib ../ out/JE3D.a/usr/bin/ar:lib ../ out/JE3D.a:没有这样的文件或目录make [2]:*[lib ../ out/JE3D. a]错误1 make [1]:* [CMakeFiles /../ out/JE3D.dir/all]错误2 make:***[all]错误2

cmake

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

颜色而不是颜色?

我正在使用C++编写游戏引擎,我有类似setColour的方法和使用英语语法的东西.虽然我在想C++编译器大多使用英语(如果我错了就纠正我)以及大多数API如何使用美国语法,我应该顺其自然地继续语法程序员高级委员会的非官方标准,还是反叛者?

我不确定哪个.

c++ grammar colors

16
推荐指数
7
解决办法
3229
查看次数

Clang的链接器?

我用哪个链接器用于clang?如果我使用clang或ld作为链接器,我会收到大量错误,就好像我没有链接标准库一样.

g ++ $(OBJS)-o $(BINDIR)/获取

似乎我必须使用g ++来链接我的clang对象.

c++ linker g++ clang

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

在OpenGL中渲染矢量图形?

有没有办法加载矢量图形文件,然后使用OpenGL渲染它?这是一个模糊的问题,因为我对矢量图形的文件格式知之甚少.不过我知道SVG.

将它转换为栅格并不是很有用,因为我想实时放大对象.

opengl vector-graphics

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

如果原始文件更改,则进行CMake复制

在CMake中,我有一个包含预定义Gettext目录的文件夹,在构建时我将其复制到文件夹然后进行修改.但问题是,每次运行目标时,它都会复制本地副本上的预定义文件(可能已修改).如果文件与之前的状态不同,有没有办法复制,否则不管它?

我也在想,这样做的一种方法是在CMake生成时复制它们,但我觉得有点厌倦这样做,因为人们可能会删除文件夹并搞砸了.此外,我不知道如何在生成时执行命令,仅在构建时执行.

cmake

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

标签 统计

c++ ×4

cmake ×3

bad-alloc ×1

c ×1

clang ×1

colors ×1

g++ ×1

grammar ×1

linker ×1

new-operator ×1

null ×1

opengl ×1

posix ×1

throw ×1

vector-graphics ×1

xml ×1

xslt ×1