原创 C語言關鍵字學習(1)----- extern

序言:        如果C語言是程序員手下的一支精銳之師,那麼基本語法是它的主力軍,而關鍵字則是士兵們手中的利器。對於一個需要經常馳騁疆場的C程序員來說,如果不能把這柄利器運用自如的話,那麼不僅會失去“一夫當關,萬夫莫開”的雄風,甚至還

原创 綱要

       生活需要混亂和秩序並存,而爲了我的生活不全是混亂,給自己定下以下的綱要:        1.作爲一個程序員成長,搞清楚操作系統。        2.將機器學習進行到底,學會處理信息。        3.閱讀書籍,陶冶情操!

原创 Linux編程之路---共享內存

所有共享內存塊的大小都必須是系統頁面大小的整數倍。                                                    ----------------------不知那門的定律 一、 共享內存編程的兩

原创 C語言main函數

我想,絕大多數程序員寫的第一個函數必定是main函數,就如同剛出生的小孩第一眼見到的是她的親媽一樣。但是,對於如此親密的main函數,我們真的是對它瞭如執掌嗎? 那可未必。在此,我寫下我淺薄的認識。 很多初學者在寫第一個C語言程序的時候,

原创 C語言頭文件那點事--我的模板

地球人都知道,C語言有.c和.h兩種類型的文件,前者是程序文件,它用來保存程序的邏輯實現,後者是頭文件,它用來保存一些共用的數據類型和函數接口等的申明。爲什麼需要頭文件類?這是現實需求的產物,有了頭文件,就可以將程序的具體實現和使用接口分

原创 關於套接字的一點學習

這幾天寫程序的中心點是socket,因爲手上的一個項目在這一塊出了些問題。問題在於我寫的程序向夥伴寫的程序發送數據,他的程序未能正確接收到我發送的數據。原以爲套接字編程就是簡簡單單地幾個socket庫函數的使用而已,但現實的問題卻總在提醒

原创 再學C++,從零開始

第一次接觸C++已經是幾年前風華正茂的事了,是那個第一教我們編程語言的湛老師給我們講的課。那個時候,對於連C語言考試都不能及格的我來說,C++顯然是太爲難我了。而我也的確沒有怎麼去刁難自己,依然是自我地逍遙自在去了。所以,對於C++,我只

原创 終於做了決定

決定,對我來說,是一件難事,特別是當擺在我面前的是關於人生的選擇,我就尤爲顯得無力。所以,人們會說,有太多的選擇,未必是好事。而我知道我所患的病,就是精神學鄰域裏的“選擇性障礙”,面對選擇,猶豫不決,即使做了一個艱難的決定,也時常在想,這

原创 C程序運行

C程序運行流程: 1.內核執行C startup routine。在該startup routine中,內核運行exec函數族中一個來運行C程序。 2.被exec運行的C程序 從main函數開始執行. ISO C規定的main函數原型爲如

原创 自己玩玩的MakeFile

makefile命令的基本格式: Target : prerequisites ....            command Target是要生成的東西,冒號後則是生成該目標所依賴的東西。而command則是make執行的命令。 千言

原创 關鍵字 -- restrict

restrict是C99新增的一個關鍵字,其主要目的是用來優化用的。它只能修飾指針。該關鍵字告訴編譯器,哪些指針引用是可以優化的, 其方法是指明指針指向的對象,在函數中只通過該指針進行訪問。 它的英文定義是: It can be app

原创 概率分佈的近似

有時候某個概率分佈本身很複雜,但計算卻要用,這時候往往會有一些近似方法。 今天下午我知道了,可以用Laplace approximation去近似一個概率分佈。

原创 C++對象模型

搞點興奮神經的東西來活力我的早晨,而那個就是桌面上的C++對象模型了。 看這本書的目的不在於奇淫巧技,更想去體悟思想層面的東西,以獲得一些編程心智上的開發。廢話少說,看看書中給出的一個說明C++對象模型的例子吧。 class Point

原创 CMake簡單使用

作爲一個linux後現代程序員,對於遠古時代的自動化構建工具make很是敬畏,但卻真的沒有那麼大的勇氣去寫makefile,特別是當項目比較大的時,僅僅是寫makefile就會把好端端的一個人搞殘搞廢。還好,同樣有此體會的牛人們搞出了cm

原创 矩陣分解--隨機算法

矩陣分解問題往往可以使用一些經典算法求解,比如QR分解、SVD分解等等。在這些方法的基礎上,可以使用隨機化的方法使得矩陣分解的效率更高。關於這個問題可以看這篇文章 Finding structure with randomness: pr