原创 C++重複一致地聲明全局變量沒有問題

extern int globalVal; extern int globalVal; int main(int argc, char* argv[]) { globalVal = 10; return 0; } g++ -o tes

原创 main函數入口處的段錯誤

將一些源文件用個g++編譯通過,執行時發現有段錯誤,gdb調試看了一下是在main函數的入口處錯了。排查了好一會,發現了問題所在,因爲棧中定義了一個較大的數組。 解決方法就是不要把大數組放棧中,大數組new出來就沒事了.

原创 獲取字符串中的數字串

#include <cstring> #include <cstdlib> #include <iostream> #include <vector> using namespace std; // 獲取字符串中的數字串 void pic

原创 PostGis判斷兩個地理信息的距離是否小於某個值

st_dwithin(geom1, geom2, distance)  --> 如果geom1和geom2的距離小於distance就返回true,

原创 通過程序名稱查看哪些進程正在運行

pgrep 程序名 -l

原创 通過程序名殺死進程

killall 程序名

原创 靜態鏈接庫相互依賴

想同時鏈接兩個自定義的靜態鏈接庫,發現無論以什麼順序鏈接都會有一些函數未定義。網上搜了一番找到解決方案: 假設有liba.a和libb.a兩個靜態鏈接庫,則添加鏈接選項時,多鏈接其中一個庫一遍即可解決相互依賴的問題。如-la -lb -l

原创 select into 到臨時表中

select * into temp my_temp_table from src_table, 臨時表在會話結束後會自動刪除.

原创 兩個進程如何共享內存

進程在訪問內存時會使用頁表將虛擬內存映射爲物理內存,訪問共享內存實際就是將兩個進程的虛擬內存塊映射到同一個物理內存塊以達到共享的目的。

原创 根據網絡包內容過濾

 強大的網絡包內容過濾工具:ngrep -d eth1 -q '^POST .* HTTP/1.[01]'

原创 重載set的operator

重載set的operator<()函數 struct A { int x; int y; int z; /* bool operator < (const A & other)const { return (x

原创 從system返回值中獲得程序退出碼

#include <cstdlib> #include <iostream> #include <string> using namespace std; int main(int argc, char* argv[]) { cout

原创 動態鏈接時如何訪問在其他模塊中的全局變量

全局變量可定義在共享模塊,也可以定義在程序主模塊。無論全局變量定義在共享模塊還是主模塊都是通過GOT間接訪問。主模塊是第一個載到內存中的,運行時不會

原创 PostGis 判斷一個多邊形完全包含另一個多邊形,或完全包含一個點

st_within(geom1, geom2) --> 判斷geom2是否包含geom1, 其中geom2和geom1是兩個地理信息

原创 PostGis 如何判斷兩個多邊形是否有重疊的區域

select st_astext( ST_Intersection( ST_Multi(st_geomfromEWKT('SRID=32649;POLYGON((x1 y1, x2 y2, x3 y3, x4 y4, x5 x5, x1