2017年9月25日 星期一

GCC編譯錯誤: relocation truncated to fit: R_X86_64_32S against symbol `xxxxx` defined in `.bss' section in xxxxx



在GCC的編譯參數加入"-mcmodel=xxxx", 即可解決這個編譯錯誤的問題

-mcmodel=tiny
Generate code for the tiny code model. The program and its statically defined symbols must be within 1GB of each other. Pointers are 64 bits. Programs can be statically or dynamically linked. This model is not fully implemented and mostly treated as ‘small’.
-mcmodel=small
Generate code for the small code model. The program and its statically defined symbols must be within 4GB of each other. Pointers are 64 bits. Programs can be statically or dynamically linked. This is the default code model.
-mcmodel=large
Generate code for the large code model. This makes no assumptions about addresses and sizes of sections. Pointers are 64 bits. Programs can be statically linked only.

2017年3月15日 星期三

Beej's Guide to Network Programming

發現一本寫的還不錯的Linux socket 網路程式設計書, 對初學者而言是一份很好的開始

Beej's Guide to Network Programming
譯者:Aaron Liao(廖明沂),May, 2014

GitBook:Beej's Guide to Network Programming GitBook

繁體中文網頁版: http://beej-zhtw.netdpi.net/
英文官網: http://beej.us/guide/bgnet/

2016年12月6日 星期二

MediaInfo Tool

記錄一下一個工具MediaInfo


2016年10月18日 星期二

兩堆狗屎的經濟學

兩堆狗屎的經濟學

兩個聰明的經濟學天才青年,經常為一些高深的經濟學理論爭論不休。

一天飯復一起去散步    正在難分高下的時候

為了某個數學驗證的證明

  兩位傑出突然發現前面的草地上有一堆狗屎

又爭執了起來

甲就對乙說:「如果你能把它吃下去,我願意出五丰萬。」

千萬的誘惑可真不小,吃還是不吃呢?

乙拿 出紙筆,進行了精確的數學計算,很快得出了經濟學上的最佳報酬率

解:  吃!於是甲損失了五千萬!

當然,乙的這頓加餐吃的也並不輕鬆。

兩個人繼續散步,突然又發現另一堆狗屎,

這時候乙開始劇烈的反胃,而甲也有點心疼剛才花掉的五千萬了。

於是乙對甲說:「你把它吃下去,我也給你五丰萬 · 」

於是,不同的計算方法,相同的計算結果一 『 吃! 』

甲滿意足的收回了五千萬,

而乙似乎也找到了一點心理平衡。

可是突然問,天才們同時嚎啕大又:鬧了半天我們什麼也沒有得到,卻白白的吃了兩堆狗屎!

他們怎麼也想不通,只好去請教他們的教授,一位著名的經濟學泰斗給池們解釋原因。

教授聽了兩位高足的故事,沒想到泰斗也嚎啕大又起來。

好不容易等情緒穩定了一點,只見經濟學泰斗顫巍巍的舉起一根手指頭,無比激動地說:「一億啊!一億啊!一我親愛 的同學,我代表國家感謝你們,你們僅僅吃了兩堆狗屎,就為國家的GDP國內生產毛頜)貢獻了一億的產值!」

2016年10月14日 星期五

Awesome Cheatsheet

裏面有很多有趣的Cheatsheet
Awesome Cheatsheet

2016年6月18日 星期六