原创 fortran 函數的調用標準

Fortran函數的調用標準在編譯時使用iface聲明,如iface:default,表示採用的是default標準。 fortran的調用標準有 [1] default: Tells the compiler

原创 python多線程編程----threading模塊

1、threading 模塊中的內容 - Thread: 一個可執行線程對象 - Lock: 原始的Lock對象 與thread模塊中一樣 - RLock: 允許單個線程多次請求的

原创 python 版本

獲取python的版本號 import sys python_version = '.'.join([str(n) for n in sys.version_info[:3]])

原创 insightface遇到的坑

1、Compile with USE_CUDA=1 to enable GPU usage 【原因】安裝的是cpu版的mxnet,不是gpu版的; 【解決方法】 卸載cup版mxnet,如果使用的cuda-9,則pip insta

原创 python封裝C++接口

開源項目pybind11 項目主要功能是將C++代碼封裝爲Python接口,與boost.python類似,但比它小很多 1、下載pybind11 https://github.com/pybind/pybind11.git 2、

原创 一個swig的配置文件實例

%module demo %{ #include "Demo.h" %} %include "std_string.i" %include "std_vector.i" %include "cpointer.i" %include "ca

原创 空指針nullptr

空指針不指向任何對象,在使用前可以檢查是否爲空。 幾種生成空指針的方法: int *p1 = nullptr; int *p2 = 0; int *p3 = NULL; 其中nullptr是c++11中引入的特殊類型字面值,它可以被轉

原创 Lua使用C++繼承

參考:http://www.swig.org/Doc3.0/SWIGDocumentation.html#Library_std_vector lua 5.2 / swig 3.08 //example.h #include <stdio

原创 個人博客起航

    本人從事c/c++開發,感覺要學習的東西太多了,完全沒有時間去做別的東西, 從業兩年,還沒有學到皮毛。這次下定決心做個個人博客,一方面藉此接觸一些 不同的東西,另一方法希望在c/c++的摧殘下找到一些信心。 考慮一下博客的樣子:

原创 Android studio、Cordova生成Apk問題合集及解決方法

1、CordovaClientCertRequest.java:25: 錯誤: 找不到符合 解決辦法: 安裝android sdk 21 2、找不到符號android.support.v4.content.FileProvider

原创 lua使用C++的指針、引用、值、數組

在使用C++進行Lua擴展時,C++中豐富的參數接受、處理方式包括指針、引用、值傳遞、數組等,會使人疑問,這種函數在Lua中該怎樣調用。 一、指針、引用,假設是這樣一個demo,代碼如下 //demo.h void foo(int &

原创 swig(Lua)對STL/C++ library的支持

1、std::string //demo.h td::string foo(); void bar(const std::string &x); //demo.i %module demo %{ #include "demo

原创 SLIP 串行線路IP

SLIP的幀格式描述: IP數據報以一個稱作END(0xc0)的特殊字符結束。同時,爲了防止數據報到來前的噪聲被當作數據報內容,大多數實現在數據報的開始出也傳一個END字符。 如果IP報文中某個字符爲END,那麼就要連續傳輸兩個字節0x

原创 allocator類

allocator是一個模板類,它與new的區別在於:它分配的內存是原始的、未構造的。 例如: allocator<string> alloc;//創建allocator對象 auto const p = alloc.allocate(

原创 列表初始化

4種初始化 int units_sold = 0; int units_sold = { 0 }; int units_sold{0}; int units_sold(0); 在c++11中用花括號初始化變