原创 linux判斷當前程序是否存在

#include <stdio.h> #include <string.h> int is_running(const char* prg) {     const char* pid_file = ".tmp_pid";     con

原创 知識點記錄, 持續更新中

1,查看當前進程打開了哪些文件    lsof  -c a.out,查看端口對應相應進程(兩種方法): lsof -i:50000/netstat -tunlp | grep 50000,根據進程id查看進程佔用端口     netsta

原创 SO_REUSERADDR選項作用

套接字選項總結: SO_REUSEADDR: 1)SO_REUSEADDR允許啓動一個監聽服務器並捆綁其衆所周知的端口,即使以前建立的將 該端口用作他們的本地端口的連接仍存在。這個條件通常是這樣碰到的: a)啓動一個監聽服務器, b)連接

原创 sizeof相關

int main(int argc,char* argv[]) {     char c[] = "123456";     printf("sizeof = %d,strlen = %d\n",sizeof(c),strlen(c));

原创 最基本網絡編程模型

tcp編程最基本模型 server:          client: socket            socket bind             connect listen            while(1){ accep

原创 new/delete

一個new的大概實現。所以delete 空指針是沒錯的,算是合法操作 // new circle(…) {   void* temp = operator new(sizeof(circle));   try {     circle*

原创 一些基本網絡知識

通過ip地址可以對計算機進行分組管理,AAA.BBB.CCC.YYY。這樣一個ip地址,通過把AAA.BBB.CCC部分稱爲網絡部分,把YYY稱爲 主機地址, 例如一個ip是202.26.186.174,子網掩碼是255.255.255.

原创 windows進程當前目錄和進程的絕對路徑獲取方法

windows下獲取進程當前的運行目錄GetCurrentDirectory     獲取進程絕對路徑函數GetModuleFileName 例如我在cmd中D盤根目錄直接運行D:\test\wangjiyao\test.exe 那麼此時

原创 大量warning:libb.so needed by liba.so not found.的問題解決方法

例如:warning:libb.so needed by liba.so not found.原因是:例如代碼引用了liba.so,但是liba.so又引用了libb.so,這種情況是由於makefile沒有顯示指定需要鏈接b.so, 解

原创 模塊之間傳遞強轉的應用

兩個模塊之間互相傳遞一個ip地址。 char* ip = "192.168.100.101"; U32 uaddr = 0; int ret = inet_pton(AF_INET,ip,&addr); U8* pByte = (U8*)

原创 c++ what is "instantiated from here" error?

轉載自Stack Overflow。 struct Data{     Data(int a,int b){         x = a;         y = b;     }     int x;     int y; } std:

原创 環境變量打印

  #include <stdio.h>   int main(){        extern char** environ;        char** env;        for(env = environ;env && *en

原创 linux 靜態庫,動態庫簡單使用示例

nm 命令可以看二進制文件的符號 預編譯 去掉宏 gcc -E hello.c -o hello.i 編譯 高級語言-->彙編  gcc -S hello.i 彙編 彙編-->目標文件  gcc -c hello.s 鏈接    gcc

原创 gdb調試整理中,常用命令

gdb調試 編譯時必須加-g選項,如果想去掉符號表strip a.out gdb ./a.out 調試core文件 gdb a.out core.111 運行 r(run) 開始運行 r argv[1] argv[2]//命令行參數  c

原创 vim 常用的一些命令

vim常用命令總結: 移動: w 移動光標到下一個單詞的開頭 e 移動光標到下一個單詞結尾 b 移動光標到上一個單詞 0 移動單詞到本行最開頭 $ 移動光標到本行末尾處 H 移動光標到屏幕的首行 L 移動光標到屏幕尾行 gg 移動光標到文