原创 哈佛大學的20條經典訓誡

1. This moment will nap, you will have a dream; but this moment study, you will interpret a dream. 此刻打盹,你將做夢;而此刻學習,你將圓夢

原创 從彙編看c語言函數調用

學C語言時,就聽老師說函數調用時是通過棧來記錄信息,又聽說什麼“保留現場”,"恢復現場"一些既聽不懂,也不知道怎麼弄懂的東西。最近正在學習Linux下的彙編,現在就通過一個簡單的例子來展示一下彙編級的函數調用,這樣能夠增加大家對C語言的理

原创 [推薦] 開發工程師人生之路(強烈推薦,分析的透徹!)

相對同時剛出校門同學從事其它行業而言優厚的薪水,以及不斷學習更新的專業知識不僅僅讓你感到生活的充實,更滿足了你那不讓外人知的虛榮心。在剛出校門的幾年中,你經常回頭看看被你落在後面的同學們,在內心憐憫他們的同時,你也會對自已天天加班的努力工

原创 用C語言編寫簡單的病毒

 [摘要]在分析病毒機理的基礎上,用C語言寫了一個小病毒作爲實例,用TURBOC2.0實現.  [Abstract] This paper introduce the charateristic of the computer virus

原创 一百年後,人類怎樣編程?

很難預測一百年後的人類生活,只有少數幾件事是可以確定的。那時,汽車將具備低空飛行能力,城市規劃的法規將放寬,大樓可以造到幾百層,大街上一天到晚看不見太陽,女性個個都學過防身術。本文只想討論其中的一個細節:一百年後,人們使用什麼語言開發軟件

原创 輕鬆掌握c語言中的sizeof

網上有很多文章已經詳細講述過sizeof的用法,但是我覺得其實sizeof並沒有那麼複雜。在這兒簡單地再總結一下。1,是什麼?    sizeof其實就是一個運算符,和那些+,-一樣的東西,在程序編譯的時候進行解析轉換。雖然我們經常見到s

原创 關於五險一金,你知道多少?整理點有用的,順道發上來分享下

具體的社保構成比例爲:    養老保險:單位每個月爲你繳納21%,你自己繳納8%;  醫療保險:單位每個月爲你繳納9%,你自己繳納2%外加10塊錢的大病統籌大病統籌主要管住院這塊);  失業保險:單位每個月爲你繳納2%,你自己繳納1%; 

原创 Linux對I/O端口資源的管理

幾乎每一種外設都是通過讀寫設備上的寄存器來進行的。外設寄存器也稱爲“I/O端口”,通常包括:控制寄存器、狀態寄存器和數據寄存器三大類, 而且一個外設的寄存器通常被連續地編址。CPU對外設IO端口物理地址的編址方式有兩種:一種是I/O映射方

原创 Linux下tar bz gz等壓縮包的壓縮和解壓

大致總結了一下linux下各種格式的壓縮包的壓縮、解壓方法。但是部分方法我沒有用到,也就不全,希望大家幫我補充,我將隨時修改完善,謝謝!解壓就用得挺熟的了,突然不知道怎樣壓縮。。。慚愧。。   這是網上提供的方法:   .Tar.gz  

原创 如何學習使用C++一個實用主義者的觀點

  最近CoolShell連續發了兩篇文字,《如何學習C語言》以及《如何學習C++》。我在twitter發了一些牢騷,因爲我也曾經寫過一篇《漫談C語言及如何學習C語言》http://sunxiunan.com/?p=1661 ,文字

原创 內核中的Makefile和Kconfig

一、概述      在內核編譯中如何將各個目錄樹中的文件組織起來編譯是一個很重要的問題,並且要根據用戶配置來編譯特有的內核。爲了解決這個問題,內核使用兩種文件,Makefie和Kconfig。分佈到各目錄的Kconfig構成了一個分佈式的

原创 Tricky C questions

以下是幾個棘手的 C 問題, 很難做, 看看自己會做幾個? How do you write a program which produces its own source code as its output? How can I fi

原创 C語言字符串函數大全

函數名: strrev 功 能: 串倒轉 用 法: char *strrev(char *str); 程序例: #include <string.h> #include <stdio.h> int main(void)

原创 Linux下硬盤分區詳解

Linux下硬盤分區基礎什麼是硬盤分區,分區用來做什麼?分區就是硬盤的“段落”。Windows分區有自己的盤符(C:,D:等等),這些分區看起來都好像是一個獨立的硬盤。 最簡單的情況下就是將整個硬盤作爲一個唯一的分區。如果您購買了一臺已經

原创 關於linux Oops

 <1>Unable to handle kernel NULL pointer dereference at virtual address 00000000pgd = c064c000[00000000] *pgd=e0010031,