Time of Update: 2018-12-03
void ConvertDate(void){ char APP_DATE[]=__DATE__; char APP_MONTH[4]; int APP_YEAR; int APP_DAILY_VERSION; sscanf(APP_DATE,"%s %d %d",APP_MONTH,&APP_DAILY_VERSION,&APP_YEAR); g_APP_YEAR_VERSION=APP_YEAR-(APP_YEAR/100)*100; if
Time of Update: 2018-12-03
源碼如下: #include<stdio.h>#include<stdarg.h>#include "myprintf.h"long int mypow(int a,int n){ long int result=1; int i=0; for(;i<n;i++) result=result*a; return result;}int float2str(char *s,float a,int len1,int len2)//float 轉換成字串{
Time of Update: 2018-12-03
最近將一個指紋匹配演算法按照AFIS系統的介面標準做成dll上伺服器測試,結果在進行200萬人指紋的大庫比對時出錯了,通過分析發現是dll中存在記憶體泄露導致系統資源耗盡。雖然一次只有那麼200kByte,但乘上200萬這個基數也是不小。於是找來了兩個工具來檢測代碼中的記憶體泄露:VLD和LeakDiag。1.Visual Leak Detector 1.0 (VLD)這是一個小巧記憶體偵查工具,是為Visual
Time of Update: 2018-12-03
該問題是因為使用有些標頭檔的時候,前面必須包含windows.h標頭檔。如使用MMSystem.h時。#ifndef SETJMP_TEST_H#define SETJMP_TEST_H#include<setjmp.h>#ifdef _cplusplusextern "c"{#endif#define MAXTASK 20/*最大任務個數*/#define TASKID unsigned chartypedef void(*FUNCTASK)(void);enum
Time of Update: 2018-12-03
FrameBuffer 是出現在 2.2.xx 核心當中的一種驅動程式介面。Linux 工作在保護模式下,所以使用者態進程是無法象 DOS 那樣使用顯卡 BIOS 裡提供的中斷調用來實現直接寫屏,Linux 抽象出 FrameBuffer 這個裝置來供使用者態進程實現直接寫屏。Framebuffer 機制模仿顯卡的功能,將顯卡硬體結構抽象掉,可以通過 Framebuffer 的讀寫直接對顯存進行操作。使用者可以將 framebuffer
Time of Update: 2018-12-03
PAT表格定義如下:typedef struct TS_PAT_Program{ unsigned program_number :16; //節目號 unsigned program_map_PID :13; //節目映射表的PID,節目號大於0時對應的PID,每個節目對應一個}TS_PAT_Program;//PAT表結構體typedef struct TS_PAT{ unsigned table_id : 8; //固定為0
Time of Update: 2018-12-03
需求分析是指開發人員要進行細緻的調查分析,準確理解使用者的要求。將使用者非形式的需求陳述轉化為完整的需求定義,再由需求定義轉換到相應的形式功能的過程 需求分析的基本原則:(1)可以把一個複雜問題按功能進行分解並可逐層細化。(2)必須能夠表達和理解問題的資料領域和功能領域。 (3)建立模型。需求分析的基本任務是要準確地理解舊系統,定義新系統的目標。回答系統必須“做什麼”的問題。 1..問題明確定義; 2.匯出軟體的邏輯模型; 3.編寫文檔; 需求分析方法:
Time of Update: 2018-12-03
幀緩衝(framebuffer)是Linux為顯示裝置提供的一個介面,是把顯存抽象後的一種裝置,它允許上層應用程式在圖形模式下直接對顯示緩衝區進行讀寫操作,這種操作是抽象的,統一的。使用者不必關心物理顯存的位置,換頁機制等等具體細節。這些都由Framebuffer裝置驅動程式完成的。幀緩衝驅動應用廣泛,在linux的案頭系統中,Xwindow伺服器就是利用幀緩衝進行視窗繪製的。尤其是通過幀緩衝裝置可顯示漢字點陣,成為linux漢化的唯一可行方案。 幀緩衝裝置對應的裝置檔案為/dev/fb*
Time of Update: 2018-12-03
訊號量的操作——semop函數(2011-08-03 18:25:05)轉載▼標籤:雜談分類: Linux 訊號量的值與相應資源的使用方式有關,當它的值大於 0 時,表示當前可用的資源數的數量;當它的值小於 0 時,其絕對值表示等待使用該資源的進程個數。訊號量的值僅能由 PV 操作來改變。 在 Linux 下,PV 操作通過調用semop函數來實現。該函數定義在標頭檔 sys/sem.h中,原型如下: int semop(int semid,struct sembuf
Time of Update: 2018-12-03
PMT結構定義:typedef struct TS_PMT_Stream{ unsigned stream_type : 8; //指示特定PID的節目元素包的類型。該處PID由elementary PID指定 unsigned elementary_PID : 13; //該域指示TS包的PID值。這些TS包含有相關的節目元素 unsigned ES_info_length : 1
Time of Update: 2018-12-03
最近對Android手機IME比較有興趣,百度,搜狗,QQ,大家都在做IME也越來越複雜,像我這種用習慣了Nokia手機上的T9筆畫+拼音輸入的還是想找回原來的感覺決定在Google拼音IME的基礎上創作一個包含T9筆畫輸入的IME自己用 分析了拼音IMEDict建立到搜尋過程(20110811)通過建立一個快速檢索的Map筆畫也可以建立一個MapDict,載入時只需要載入到一個記憶體塊
Time of Update: 2018-12-03
設定(Profile)一個設定是一個ASF的配置(configuration)的描述資料集合。一個設定必須至少包含一個流的配置設定。流資訊設定中的流資訊包含流的位元速率(bit
Time of Update: 2018-12-03
1.安裝samba 首先驗證您的機器中是否已經安裝samba rpm -qa|grep samba,如果出現 samba-common-2.2.7a-7.9.0 samba-client-2.2.7a-7.9.0 samba-2.2.7a-7.9.0 那麼恭喜你,你已經安裝好了samba,如果沒有以上那些東東,請安裝,安裝方法很簡單,redhatlinux
Time of Update: 2018-12-03
【send/sendto/sendmsg系統調用】 功能描述:發送訊息。send只可用於基於串連的通訊端,send 和 write唯一的不同點是標誌的存在,當標誌為0時,send等同於write。sendto 和 sendmsg既可用於不需連線的通訊端,也可用於基於串連的通訊端。除了通訊端設定為非阻塞模式,調用將會阻塞直到資料被發送完。用法: #include <sys/types.h>#include <sys/socket.h>ssize_t
Time of Update: 2018-12-03
碼率就是資料轉送時單位時間傳送的資料位元數,一般我們用的單位是kbps即千位元/秒。通俗一點的理解就是取樣率,單位時間內取樣率越大,精度就越高,處理出來的檔案就越接近原始檔案,但是檔案體積與取樣率是成正比的,所以幾乎所有的編碼格式重視的都是如何用最低的碼率達到最少的失真,圍繞這個核心衍生出來的cbr(固定碼率)與vbr(可變碼率),都是在這方面做的文章,不過事情總不是絕對的,從音頻方面來說,碼率越高,被壓縮的比例越小,音質損失越小,與音源的音質越接近。“碼率”就是失真度,碼率越高越清晰,反之則畫
Time of Update: 2018-12-03
我們在編譯QT的工程的時候,一般都會讓qmake自動產生,但有時我們需要定製我們的工程,那麼就必須改寫pro檔案。要自己全部寫pro檔案又有點麻煩,所以,一般都是先運行 qmake -project 來產生基本的pro檔案。 例如你有一個工程目錄為backup,那麼在這個目錄下就會產生backup.pro檔案。對一般的工程,我們只需要修改幾個基本的常用的選項,下面說說怎麼修改。
Time of Update: 2018-12-03
[Loong]:之前寫過基於ALSA的WAV播放錄音程式,見http://blog.csdn.net/sepnic/archive/2011/01/14/6140824.aspx。現在本想好好整理一下ALSA的編程思想,但Google了一下,發現已經有同道做了類似的工作,故將其轉載過來,並添加一些本人的疑問以及補充(將會繼續補充,原文很多重要的ALSA參數沒有提到)。原文:http://blogold.chinaunix.net/u3/112227/showart_2251390.html 一.
Time of Update: 2018-12-03
一、 介紹Epoll是一種高效的管理socket的模型,相對於select和poll來說具有更高的效率和易用性。傳統的select以及poll的效率會因為socket數量的線形遞增而導致呈二次乃至三次方的下降,而epoll的效能不會隨socket數量增加而下降。標準的linux-2.4.20核心不支援epoll,需要打patch。本文主要從linux-2.4.32和linux-2.6.10兩個核心版本介紹epoll。二、 Epoll的使用 epoll用到的所有函數都是在標頭檔sys/epoll.
Time of Update: 2018-12-03
有些軟體可能要求系統的 Glibc 高於某個版本才可以正常運行。如果您的 Glibc 低於要求的版本,為了運行這些軟體,您就不得不升級您的 Glibc 了 。您可以尋找已經編譯好的 rpm 包或者使用原始碼的方式升級 Glibc。下載glibcwget http://ftp.gnu.org/gnu/glibc/glibc-2.7.tar.gz下載glibc-linuxthreadswget
Time of Update: 2018-12-03
問題描述:現有軟體系統中資料庫同步是通過傳遞SQL字串實現的,在處理字串是很多地方都用到了strlen和sprintf函數;目前新增的功能在同步bblog資料時,除了需要傳遞sql字串,還需要傳遞位元據,位元據有些位元組為0,在使用strlen時造成判斷長度出錯,在使用sprintf函數時遇到0則認為是結束符。問題解決:如果更改原有的邏輯,更改地方較多且會影響原有的處理方法。更改後需測試環節較多。所以在傳遞之前將位元據轉換為ascii碼進行傳遞,在資料終點再將ascii轉換為位元據。只需測試新增