我正在编写一些脚本到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)
任何人都可以告诉我如何添加特定的文件扩展名?
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) 我试图想出一种通用的,易于使用的方式来运行某些代码,这取决于我当时使用的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)
但是,我不认为这会奏效.
有没有办法完成我想做的事情?
我试图将我的头脑包围起来void*,以及它的适当用途,如果有任何潜在的滥用,我应该知道.(意思是冷静,没有错).
我不明白如何以及为什么使用void*.如果我理解,我需要将当前指针强制转换为a void*,然后在我想使用它时将其转换回原始指针...?
为什么这有益?不要让事情变得通用,因为我需要知道void*传入什么类型的演员...
任何人都可以帮助我理解 void*
我有一个CentOS服务器,我想从BASH脚本在我的笔记本电脑上运行它.
在本地运行一个脚本: - 通过ssh登录到服务器并执行一些mysql语句 - 将我需要的文件复制到我需要的地方
文件复制很容易.我能做到.
但是如何通过SSH端口连接到MySQL服务器并执行语句呢?我想我只是坚持连接部分.执行我可以在变量和批处理执行上构建的语句.
我有一台从我的笔记本电脑到这台服务器的SSH pub/priv密钥对.
任何帮助?
OS X 10.8.3 C++
我们的代码中有 base64 编码和解码功能。
但是,我想对来自终端的字符串进行 base64 编码并在我的代码中使用它,以便我们的函数可以在需要使用时对其进行解码。
一个 base64 如何编码来自终端的字符串?
我想删除字符串的第一个字符 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
我有类似的东西:
#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)
我究竟做错了什么?
对于那些为多个平台开发软件的人来说,如何处理编译器可能比其他编译器更好地完成某些事情的潜力.
假设您为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
有什么方法可以以编程方式查看文件并告诉它是什么类型的文件,例如mp3,txt,binary,photoshop等?我不认为STL中会有任何内容(除了尝试打开文本文件并将其读入).
如何尝试告诉您真正处理的文件类型?我的意思是我可以将.mp3扩展名放在一个真正不是mp3文件的文件上.
比如说你有:
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()
我想有一点是我可以改变 …
给定一个向量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 loop:Calling a private constructor of class 'std::__1::thread'
但是看http://www.cplusplus.com/reference/thread/thread/我没有看到任何标记为私有的构造函数。
我误解了什么?