原创 原始套接口基礎知識

原始套接口輸出:        1如果已經連接,則可以使用write,writev,send        2.未連接,則使用sendto,sendmsg        3.開啓IP_HDRINCL:進程需要自填充IP,進程調用輸出函數時

原创 鏈路層訪問修改

 首先例子中, udpcksum.h包含了兩個頭文件 ip_var.h/udp_var.h,我是centos5.5的,系統中並無這些頭文件。如果自己隱掉,編譯時明顯就會報struct udpiphdr結構不存在。可在udpcksum.h中

原创 gcc生成靜態庫和動態庫

一、庫文件簡介簡單地說,庫(Library)就是一組已經寫好了的函數和變量、經過編譯代碼,是爲了能夠提高開發效率和運行效率而設計的。庫分爲靜態庫(Static Library)和共享庫(Shared library)兩類。靜態庫文件的擴

原创 HASH_MAP

條條大路通羅馬,爲什麼你不隨便選一條? 0 爲什麼需要hash_map 用過map吧?map提供一個很常用的功能,那就是提供key-value的存儲和查找功能。例如,我要記錄一個人名和相應的存儲,而且隨時增加,要快速查找和修改: 嶽不

原创 Dijkstra求單源最短路徑(圖論基礎算法)

Dijkstra算法: 最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis

原创 幾個關於多線程筆試題

先來個簡單的,緩解下尷尬的氣氛。 子線程循環 10 次,接着主線程循環 100 次,接着又回到子線程循環 10 次,接着再回到主線程又循環 100 次,如此循環50次,試寫出代碼。 #include <stdio.h> #includ

原创 使用STL求第K大數

項目上需要使用C++,抽空正好把C++熟悉一下。 期待接下來的這個項目能給我的C++編程能力帶來提升。 先來個set版本的。 #include <iostream> #include <string> #include <ios> #i

原创 2012騰訊實習招聘筆試附加題1

一個數組a[n],求構造出一個b[n],使得b[i]=a[0]*a[1]*...a[n-1]/a[i];不能用除法和除了循環變量外的額外變量 ,要求(1)的空間複雜度,O(n)的時間複雜度。 在網上看見這個題目,感覺很有意思。我的解法如下

原创 數劃分

數的劃分 問題描述 將整數n分成k份,且每份不能爲空,任意兩種分法不能相同(不考慮順序)。 例如:n=7,k=3,下面三種分法被認爲是相同的: 1,1,5;1,5,1;5,1,1。 問有多少種不同的分法。輸入:n,k(6<n<=200,2

原创

在求前K大數中可以用堆來維護,但是很久沒碰堆這個東西了,BS下自己。重新複習一下吧。 插入堆的時候,將元素放在數組尾,破壞堆的規則,使此節點上浮。 刪除堆頂元素的時候,首先返回堆頂元素,然後將數組尾元素置於堆頂,破壞規則,使此節點下沉。

原创 模板編譯模型

非模板模型:包括普通函數,普通類; 在調用普通函數時,編譯器只需要看到函數的聲明。 在定義類對象時,編譯器只需要看到類的定義,成員函數的定義不是必須存在的。 所以:將類的定義和函數的申明放在頭文件中,類成員函數的定義,普通函數的定義放在源

原创 xp下使用telnet 或者vnc連接linux

telnet還是挺方便的,不過屬於文本界面 vnc也挺方便,提供更強大的圖形界面。 1. 查詢linux是否安裝了telnet-server rpm -qa  telnet-server 2. yum install telnet-se

原创 fedora9下使用QT連接數據庫(QSqlDatabase: QODBC driver not loaded)

開源版的QT沒有提供Mysql的驅動,導致使用數據庫的時候提示如下錯誤: QSqlDatabase: QODBC driver not loadedQSqlDatabase: available drivers: QSQLITE 解決方法

原创 C語言中變長形參的實現

#include "unp.h" #include <stdarg.h> /* void func(const char *fmt, ...) { va_list args; va_start(args, fmt); vfpri

原创 用TCP/IP進行網際互聯第三卷 源代碼編譯修改

用TCP/IP進行網際互聯源代碼編譯修改 1./usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS referenc