Time of Update: 2018-12-03
我最近最佳化一個Linux-C小程式,用snprintf()函數往數組(或字串)裡寫入資料。我不用sprintf()是因為它不夠安全,不小心就會記憶體溢出,導致“段錯誤”!我認識並使用snprintf()很久了,但今天才完全明白了它的傳回值的意思。 函數原型:int snprintf(char *str, size_t size, const char *format, ...); size
Time of Update: 2018-12-03
之前有從事過使用HttpClient 抓取網頁和分析網頁資料的工作,有時候要使用到HttpClient進行自動登陸網頁的功能,這時候就不得不要去分析或者擷取瀏覽器中的Cookie了。可是在一開始使用HttpClient的人或者都會有的一個問題:我們在瀏覽器上看到的一些Cookie,使用我們的程式時卻擷取不到,這是為什麼呢。
Time of Update: 2018-12-03
1、當有下列語句時將出現此狀況[cpp] view plaincopyprint?printf("\n\t\tSales as percentage of inventory:\t\t%f".\ 100*((float)total_cars_sold[brand]/(float) cars_in_stock[brand])); 57:7: error: expected identifier before numeric constant原因是\前的不是,
Time of Update: 2018-12-03
連續加班已經一個多月了,項目的模型已經建立起來了!也遇到了一些問題,自己記錄一下! 1.物理的雕刻機和PCB板廠子,割邊的方式不同,雕刻機使用的是中心割邊(自己使用的是華文默克的雕刻機),而PCB廠子的割邊不是物理的,中心割邊的話,板子實際尺寸會比圖上小一把銑刀的大小。如果板子尺寸要求比較高的話,那麼個PCB廠子的板子記得改改尺寸! 2.MCU的管腳控制三極體的基極時,記得串入一個100歐的電阻限流,如果不串入的話,同時導通多個三級管的話,三極體會時斷時不斷。
Time of Update: 2018-12-03
前言:qljt跟u-boot的Makefile裡面開發商相對應 ;qljt2440是我開發板的名字 原理:每個命令都有一個命令結構體struct cmd_tbl_s {char *name; / * 將來在u-boot命令列執行的命令,該字串名字不用""括起來,只要不要與現有函數同名就行*/int maxargs; /* 最多有多少個參數,注意至少為1,因為在u-boot命令列執行時命令本身算一個參數*/int repeatable;
Time of Update: 2018-12-03
linux上進程有5種狀態: 1. 運行(正在運行或在運行隊列中等待) 2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到訊號) 3. 不可中斷(收到訊號不喚醒和不可運行, 進程必須等待直到有中斷髮生) 4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放) 5. 停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU訊號後停止運行運行) ps工具標識進程的5種狀態代碼: D 不可中斷 uninterruptible sleep
Time of Update: 2018-12-03
今天參加了PIC的研討會(說是研討會其實就是產品推薦會)! PIC今年帶來了新的產品,主要包括以下幾個方面: 1.WIFI模組,wifi晶片。 2.藍芽晶片,藍芽模組。 3.觸控螢幕晶片,觸控螢幕模組。 4.數模,電源管理等晶片。 5.usb晶片。 6.音頻晶片。 7.bodycom 開發板。
Time of Update: 2018-12-03
1.widows裡面的配置(1)要個administrator設定一個密碼,而且他的密碼為111111,IP為192.168.0.100(2)共用一個檔案夾,舉個例子,該檔案夾原來名字為LWSD,那麼以後用cifs的時候就用到該名字 2.linux(1)確認你linux核心支援cifs協議,好像2.6核心才支援(2)用mount.cifs //192.168.0.100/LWDSD /mnt username=adminstartor
Time of Update: 2018-12-03
[程式]出現bad interpreter:No such file or directory的原因 wqyuwss 發表於 2007-1-25 16:16:00出現bad interpreter:No such file or directory的原因是檔案格式的問題。這個檔案是在Windows下編寫的。換行的方式與Unix不一樣,但是在VI下面如果不Set一下又完全看不出來。解決方案:1、上傳到linux主機運行 chmod +x back ./back
Time of Update: 2018-12-03
Fedora 11 下安裝openmotif 1.下載OpenMotifftp://ftp.ics.com/openmotif/2.3/2.3.0/openmotif-2.3.0.tar.gz 2.安裝OpenMofi# tar -xzvf openmotif-2.3.0.tar.gz# cd openmotif-2.3.0# vim INSTALL.configure# ./configure# make# make check# make
Time of Update: 2018-12-03
公司要求實現一個視頻流媒體傳輸的平滑功能: 視頻伺服器向用戶端傳輸即時視頻流的時候,由於I幀的大小可能比P幀大幾倍,(一般來說每50幀就會出現一個I幀),這樣當從傳輸P幀轉到傳輸I幀是,那一刻的碼率突然間增大,這樣會造成網路堵塞。流平滑處理就是要解決這個問題。在解決這個問題的過程中一般會用到RTP、RTCP、RSTP這三個協議,網上對這三個東西的文檔實在太多了,而且介紹這三個東西的時候總是交叉介紹,比較難理解,下面是本人對這三個協議的宏觀理解:以傳輸視頻流為例:RTP:
Time of Update: 2018-12-03
使用DXP畫圖已經有3各月了,基本上能畫一些簡單的雙面板。總結一下自己的使用心得。 1.畫原理圖的時候,沒有元器件庫,畫元器件庫的時候順便將PCB庫畫了。然後給元器件庫添加封裝。 2.畫PCB板子之前,先確認板子的尺寸,各個元器件的尺寸。 3.雙面板,雙面放置放置元器件時,記住對應的元器件放置在對應的層面上。視覺差異為180度,也就是頂層看的元器件的首位置是底層元器件的末尾。
Time of Update: 2018-12-03
今天在公司調了一個很久的錯,也許說到底是出於自己的粗心。 先看段代碼: String id = params.get("id")+""; if (null==id||"".equals(id.trim())) { //id 為空白的時候 .................. }else{ .................
Time of Update: 2018-12-03
tcpdump採用命令列方式,它的命令格式為: tcpdump [ -adeflnNOpqStvx ] [ -c 數量 ] [ -F 檔案名稱 ] [ -i 網路介面 ] [ -r 檔案名稱] [ -s snaplen ] [ -T 類型 ] [ -w 檔案名稱 ] [運算式 ] 1. tcpdump的選項介紹 -a 將網路地址和廣播位址轉變成名字; -d 將匹配資訊包的代碼以人們能夠理解的彙編格式給出; -dd
Time of Update: 2018-12-03
編譯busybox-1.3.2的時候遇到的錯誤解決辦法busybox-1.3.2linux system:fedora 11 /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/sys-include/linux/fd.h:342: error: variable or field `__user'' declared void
Time of Update: 2018-12-03
AF_INET 和PF_INET區別;AF_LOCAL PF_LOCAL 區別2008-12-18 14:34AF 表示ADDRESS FAMILY 地址族 PF 表示PROTOCL FAMILY 協議族Winsock2.h中#define AF_INET 0#define PF_INET
Time of Update: 2018-12-03
TTL Time to Live,意思就是生存周期 首先要說明ping命令是使用的網路層協議ICMP,所以TTL指的是一個網路層的網路資料包(package)的生存周期,這句話不懂的先回去複習OSI7層協議去。 第一個問題,為什麼要有生存周期這個概念。
Time of Update: 2018-12-03
是用抓包工具抓到的TCP三路握手包,這就是TCP的三向交握,上面有五個TCP三向交握,分別用四條紅線隔開。
Time of Update: 2018-12-03
舉個例子:#make menuconfigGeneral setup ---> Loadable module support ---> Block layer ---> Processor type and features --->
Time of Update: 2018-12-03
1.最好在你開發板的目錄下建立你需要的檔案:ABC.c,在 ABC.c 裡面添加 void abcd()函數2.在該目錄下的Makefile檔案中 COBJS := qljt2440.o 後面添加 ABC.o3.在u-boot根目錄的include目錄下添加ABC.h標頭檔,並在ABC.h裡面聲明 void abcd();函數4.在需要調用 abcd() 的檔案中添加 #include<ABC.h>。如果在u-boot的大部分檔案中都會調用到abcd()函數,建議