小编Jas*_*son的帖子

grep,但只有特定的文件扩展名

我正在编写一些脚本到grep某些目录,但这些目录包含各种文件类型.

我想grep只是.h.cpp现在,但也许其他几个人的未来.

到目前为止,我有:

{ grep -r -i CP_Image ~/path1/;

grep -r -i CP_Image ~/path2/;

grep -r -i CP_Image ~/path3/;

grep -r -i CP_Image ~/path4/;

grep -r -i CP_Image ~/path5/;} 

| mailx -s GREP email@domain.com
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我如何添加特定的文件扩展名?

unix linux search command-line grep

880
推荐指数
9
解决办法
57万
查看次数

OS X 10.8上的CMAKE,Clang和C++ v11

OS X 1.8

CMAKE 2.8.9

$ clang -v Apple clang version 4.0 (tags/Apple/clang-421.10.60) (based on LLVM 3.1svn) Target: x86_64-apple-darwin12.0.0 Thread model: posix

的CMakeLists.txt:

cmake_minimum_required (VERSION 2.8.9)
project (Test)
add_executable(Test main.cpp)
Run Code Online (Sandbox Code Playgroud)

main.cpp中

//Create a C++11 thread from the main program
#include <iostream>
#include <thread>

//This function will be called from a thread
void call_from_thread() {
    std::cout << "Hello, World!" << std::endl;
}

int main() {
    //Launch a thread
    std::thread t1(call_from_thread);

    //Join the thread with the main thread
    t1.join();

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

compiler-construction macos compiler-errors clang c++11

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

是否可以比较条件使用的#ifdef值

我试图想出一种通用的,易于使用的方式来运行某些代码,这取决于我当时使用的api.

在标题中:

#define __API_USED cocos2d-x

#define COCOS2DX  cocos2d-x
#define OPENGL opengl

#ifdef __API_USED == COCOS2DX
    #define USING_COCOS2DX
    #undef USING_OPENGL
#endif
Run Code Online (Sandbox Code Playgroud)

来源:

#ifdef USING_COCOS2DX
    ......
#endif
Run Code Online (Sandbox Code Playgroud)

但是,我不认为这会奏效.

有没有办法完成我想做的事情?

c++ conditional c-preprocessor preprocessor-directive

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

何时在c ++中使用void*

我试图将我的头脑包围起来void*,以及它的适当用途,如果有任何潜在的滥用,我应该知道.(意思是冷静,没有错).

我不明白如何以及为什么使用void*.如果我理解,我需要将当前指针强制转换为a void*,然后在我想使用它时将其转换回原始指针...?

为什么这有益?不要让事情变得通用,因为我需要知道void*传入什么类型的演员...

任何人都可以帮助我理解 void*

c++ syntax pointers

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

通过SSH从BASH编写MySQL脚本

我有一个CentOS服务器,我想从BASH脚本在我的笔记本电脑上运行它.

在本地运行一个脚本: - 通过ssh登录到服务器并执行一些mysql语句 - 将我需要的文件复制到我需要的地方

文件复制很容易.我能做到.

但是如何通过SSH端口连接到MySQL服务器并执行语句呢?我想我只是坚持连接部分.执行我可以在变量和批处理执行上构建的语句.

我有一台从我的笔记本电脑到这台服务器的SSH pub/priv密钥对.

任何帮助?

mysql ssh bash command-line term

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

来自终端的base64编码字符串?

OS X 10.8.3 C++

我们的代码中有 base64 编码和解码功能。

但是,我想对来自终端的字符串进行 base64 编码并在我的代码中使用它,以便我们的函数可以在需要使用时对其进行解码。

一个 base64 如何编码来自终端的字符串?

c++ macos base64 encoding command-line

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

使用`memmove`删除std :: string的第一个字符

我想删除字符串的第一个字符 memmove

例如,a std::string可能包含:

./Folder/File.txt

我想删除 .

我在做:

if (newStr[0] == '.')
{
    memmove(newStr, newStr+1, strlen(newStr));
}
Run Code Online (Sandbox Code Playgroud)

并收到错误: error: no match for 'operator+' in 'newStr + 1'

我犯了什么错误?

更新:哦,我想我应该使用char*这个不会工作std::string

c++ string compiler-errors

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

在C++中连接#define

我有类似的东西:

#define BASE_FOLDER = "Resources"
#define PREFERENCE_FILE_NAME = "AppPreferences.txt"
#define SPLASH_FILE_NAME = "Splash.png"

#define PREFERENCE_PATH = ".\\" + BASE_FOLDER + "\\" + PREFERENCE_FILE_NAME
#define SPLASH_PATH = ".\\" + BASE_FOLDER + "\\" + SPLASH_FILE_NAME
Run Code Online (Sandbox Code Playgroud)

并且编译器在使用PREFERENCE_PATH时抛出错误.

expecting primary expression before = token.
Run Code Online (Sandbox Code Playgroud)

这些都在我做的时候起作用

#define PREFERENCE_PATH = ".\\Resources\\AppPreferences.txt"
#define SPLASH_PATH = ".\\Resources\\Splash.png"
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

c++ compiler-errors c-preprocessor

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

优化各种C/C++编译器的代码

对于那些为多个平台开发软件的人来说,如何处理编译器可能比其他编译器更好地完成某些事情的潜力.

假设您为OS X,Windows,Linux开发,并且您正在使用Clang/LLVM,VS和GCC.

因此,如果有人编译你的OS X应用程序,他们正在使用GCC和另一个人编译使用英特尔编译器OS X,你可以优化的代码段用于英特尔编译器如果这个人有他们.

你能检查预处理器指令吗?

#ifdef __GCC_
    // do it this way
#endif

#ifdef __INTEL__
    // do it this way
#endif

#ifdef __GCC_WITH C++_V11_Support__
    // do it this way
#endif

#idfef __WINDOWS_VISUAL_STUDIO
    // do it this way
#endif
Run Code Online (Sandbox Code Playgroud)

或者,还有更好的方法?

如何找到编译器为检查编译器版本等提供的指令列表

c++ compiler-construction development-environment compiler-optimization c-preprocessor

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

以编程方式告诉c ++中的文件类型

有什么方法可以以编程方式查看文件并告诉它是什么类型的文件,例如mp3,txt,binary,photoshop等?我不认为STL中会有任何内容(除了尝试打开文本文件并将其读入).

如何尝试告诉您真正处理的文件类型?我的意思是我可以将.mp3扩展名放在一个真正不是mp3文件的文件上.

c++ file-io binaryfiles file

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

C++访问存储在向量中的对象的元素

比如说你有:

class Plant {
    public:
    ...public accessors, etc ...

}
Run Code Online (Sandbox Code Playgroud)

然后你有一个特定的植物类:

class Broccoli : public Plant
{
    public:
        Broccoli(int i);
        virtual ~Broccoli();

        inline BroccoliSprite* getPlantSprite() { return _plantSprite; };

    private:
         BroccoliSprite* _plantSprite;

};
Run Code Online (Sandbox Code Playgroud)

在某些时候,Broccoli对象存储在向量中:std::vector<Plant> vPlants;

访问我使用的向量及其元素: inline std::vector<Plant>& getPlants() { return vPlants; };

访问:

 for (int f=0; f < _f.getPlants().size(); f++)
 {
    Plant _p1 = _f.getPlants().at(f);

    cocos2d::CCSprite* s = _p1.getPlantSprite();
    ....


 }
Run Code Online (Sandbox Code Playgroud)

我希望能够用getPlantSprite()它来显示给用户,但编译器告诉我:No member named 'getPlantSprite' in 'Plant'

这是真的,但是向量中的对象是类型Plant并且包含一个成员变量,它是我需要的精灵,getter返回它.

我不明白的是如何获得访问权限 getPlantSprite()

我想有一点是我可以改变 …

c++ class vector c++11

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

转换为 std::thread 状态调用私有构造函数

给定一个向量std::thread

std::vector<std::thread> vThreads;

vThreads.push_back(std::thread([]() {
        std::thread _t;
        _t.detach();
    }));

for (int i=0; i < vThreads.size(); i++)
{
    std::thread _t = (std::thread) vThreads.at(i); <!-- ERROR


}
Run Code Online (Sandbox Code Playgroud)

尝试在我得到的中执行演员for loopCalling a private constructor of class 'std::__1::thread'

但是看http://www.cplusplus.com/reference/thread/thread/我没有看到任何标记为私有的构造函数。

我误解了什么?

c++ multithreading compiler-errors c++11

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