原创 openssl靜態庫交叉編譯後能使用,支持ndk工具鏈編譯安卓版本

之前在網上找了openssl的交叉編譯方法,都是./config no-asm shared --prefix=xxx,然後改下makefile中的編譯工具前綴,接着make & make install,這樣可以編譯成功,但我的程序鏈接

原创 ssl api錯誤碼

# define SSL_ERROR_NONE 0 # define SSL_ERROR_SSL 1 # define SSL_ERROR_WANT_READ

原创 linux系統錯誤碼

Linux系統錯誤碼: #define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such f

原创 openssl使用sni支持多域名、多證書服務

  map<string,SSL_CTX*> g_ctxMap; SSL_CTX* serverSslCtx = NULL; static int serverNameCallback(SSL * ssl, int * ad, void

原创 pthread_cond_timedwait捕捉不到pthread_cond_signal的信號的原因

一個理解誤區,實際應用了那麼久,突然發現了這個問題: 當一個線程調用pthread_cond_signal時,其他線程沒有正在pthread_cond_timedwait,就會丟失該信號,後面再pthread_cond_timedwait

原创 ndk編譯安卓openssl靜態庫

1、使用編譯工具android-ndk-r14b,本來用的android-ndk-r16,雖然編譯成功了,但使用的時候鏈接有錯誤,error: undefined reference to 'stderr',百度了一下,有人說是{源文件裏

原创 火焰圖的安裝與使用

我的系統是CentOs 6.4,內核是2.6.32-358.el6.x86_64,以下的安裝包需要是對應內核版本的。   1.檢查內核是否提供utrace/uprobes用戶態支持 打開/boot/config-2.6.32-358.el

原创 安卓獲取外接磁盤的方法

private static String getExtendedMemoryPath(Context mContext) { StorageManager mStorageManager = (StorageManag

原创 openssl靜態庫交叉編譯後能使用

之前在網上找了openssl的交叉編譯方法,都是./config no-asm shared --prefix=xxx,然後改下makefile中的編譯工具前綴,接着make & make install,這樣可以編譯成功,但我的程序鏈接

原创 ndk c++11 編譯的坑

代碼如下#include <future> #include <exception> #include <typeinfo> #include <stdio.h> using namespace std; void f() { prin

原创 makefile自動遍歷cpp文件

XX = g++ XXFLAG = -g -O2 -D_STLP_USE_SIMPLE_NODE_ALLOC -DEMBEDED -D_LARGEFILE64_SOURCE LIBS= -lpthread -lrt -ldl -lz -

原创 linux下異步網絡操作的錯誤碼

異步connect的正常錯誤碼是EINPROGRESS,而recv/send的正常錯誤碼是EAGAIN,今天因爲搞錯了而程序出現問題,謹記!