1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <opencv2/opencv.hpp> #ifdef _DEBUG #pragma comment(lib, "opencv_highgui249d.lib") #pragma comment(lib, "opencv_core249d.lib") #pragma comment(lib, "opencv_calib3d249d.lib") #pragma comment(lib, "opencv_imgproc249d.lib") #else #pragma comment(lib, "opencv_highgui249.lib") #pragma comment(lib, "opencv_core249.lib") #pragma comment(lib, "opencv_calib3d249.lib") #pragma comment(lib, "opencv_imgproc249.lib") #endif Mat mat(iHeight, iWidth, CV_8UC3, pData); Mat yuvMat; cvtColor(mat, yuvMat, CV_RGB2YUV); imwrite(path, yuvMat); |
No such method QQuickText::setText(QString)
1 | bool bRet = QMetaObject::invokeMethod(textLabel, "setText", Q_ARG(QString, "world hello")); |
执行这句会报如下错误:
QMetaObject::invokeMethod: No such method QQuickText::setText(QString)
原因是在QQuickText对应的头文件,比如在C:\Qt\5.6.3\msvc2013\include\QtQuick\5.6.3\QtQuick\private\qquicktext_p.h中,setText方法定义前没有Q_INVOKABLE宏。
正确调用QQuickText::setText的方式是:
1 | textLabel->setProperty("text", "hi, bingo"); |
qt creator与vs互操作
qmake -tp vc XXX.pro
std function 调用成员函数的两种方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <functional> class Test124 { public: int Sum(int x, int y) { return x + y; } }; int main() { Test124 testObj; // functional1 can be defined using 'auto' keyword instead std::function<int(int, int)> functional1 = std::bind(&Test124::Sum, testObj, std::placeholders::_1, std::placeholders::_2); int result1 = functional1(1, 2); // functional2 can not be defined using 'auto' keyword instead std::function<int(Test124, int, int)> functional2 = &Test124::Sum; int result2 = functional2(testObj, 1, 2); return 1; } |
ON_SCOPE_GUARD
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | class ScopeExit { public: ScopeExit() = default; ScopeExit(const ScopeExit&) = delete; void operator=(const ScopeExit&) = delete; ScopeExit(ScopeExit&&) = default; ScopeExit& operator=(ScopeExit&&) = default; template <typename F, typename... Args> ScopeExit(F&& f, Args&&... args) { func_ = std::bind(std::forward<F>(f), std::forward<Args>(args)...); } ~ScopeExit() { if (func_) { func_(); } }; private: std::function<void()> func_; }; #define _SCOPE_CONCAT(a, b) a##b #define _SCOPE_MAKE_SCOPE_(line) ScopeExit _SCOPE_CONCAT(defer, line) = [&]() #undef ON_SCOPE_GUARD #define ON_SCOPE_GUARD _SCOPE_MAKE_SCOPE_(__LINE__) int main() { FILE* fp = fopen("d:/aa.txt", "w+"); ON_SCOPE_GUARD { fclose(fp); }; fprintf(fp, "hello, file system.\n"); return 1; } |
非控制台程序中显示控制台
1 2 3 4 5 6 7 8 9 10 11 | void init() { AllocConsole(); freopen("CONIN$", "r+t", stdin); freopen("CONOUT$", "r+t", stdout); } void fini() { // FreeConsole(); } |
HWND绑定用户数据
1 2 3 4 5 6 7 | hWnd = CreateWindow(...); SetWindowLongPtr(hWnd, GWLP_USERDATA, (LONG_PTR)12345); LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { LONG_PTR pData = GetWindowLongPtr(hWnd, GWLP_USERDATA); ... |
sys/cdefs.h: No such file or directory
有一种情况是系统编译器是arm-linux-gnueabihf-gcc,而软件编译需要arm-linux-gnueabi-gcc,这样/usr/include下需要的是arm-linux-gnueabi头文件目录而非arm-linux-gnueabihf目录,所以需要手动指定,比如在cmake的脚本中:
1 2 3 4 5 | SET(CMAKE_C_COMPILER "arm-linux-gnueabihf-gcc") SET(CMAKE_CXX_COMPILER "arm-linux-gnueabihf-g++") SET(CMAKE_SYSTEM_PROCESSOR "armv7-a_hardfp") add_definitions(-I/usr/include/arm-linux-gnueabihf) add_definitions(-D__ARM_PCS_VFP) |
学英语之食物风味
savory 咸味|对比 savior|例: It's a delicious cuisine to be savoured
cured 腌的
authentic 地道的
cuisines 美食|对比 cousin
It got variety in the taste 口味变化多
I would also say that making high end Chinese food is not really the goal. Unlike Korean and Japanese food, most Americans (due to history) don’t see Chinese food as “high end”, they see it as “fast food” so the margins are quite small for the restaurant. Why put in a lot of expensive imported ingredients? It raises cost.
Well, even if you don't have this kind of "bad idea", let me tell you that if you say "American Chinese food", then Chinese food is the most fashionable in both San Francisco and New York. If you say the authentic recipe in China, let me tell you that I'm eating at a Cantonese restaurant in Guangdong and replying to you!
I feel a kind of anger from your answer, so why are you so angry? I'm sure you must be a Chinese or related to the interests of Chinese food!
I can guarantee this with my personality.
We shouldn't be so "arrogant". In the eight years of living in China, I am sorry for my prejudice. Yes, that prejudice still exists in my domestic friends.
We should face the facts bravely, instead of reveling in a lie that doesn't exist, and even ridicule some people who expose the facts!
This is a once in a lifetime chance that I will cherish forever.
There is a bird in the tree, there is a apple on the tree.
学英语之nevertheless
Although such messages contain no data, they nevertheless consume kernel memory.
Jayde Rossi, actress who gave her likeness to female protagonist of Mass Effect Andromeda.
Steve showed me, and all of us, what it means to serve humanity. We miss him, today and every day, and we'll never forget the example he set for us.
msgrcv Invalid argument
之前调用过msgctl IPC_RMID,再用同样的msqid调用msgrcv会出现这个错误。