核心處理資源競爭的方法

為什麼Linux 核心裡面很多代碼為了處理race condition(競爭條件),都加上了諸如cli sti這樣的開關中斷指令,這個問題貌似很不值得一提。在wait_on_buffer函數(如下代碼所示)中,開關中斷僅僅就是為了避免競爭條件和中斷對臨界代碼的幹擾?static _inline void wait_on_buffer(struct buffer_head * bh){cli();// 關中斷。while (bh->b_lock)//

autoconf 的使用詳解(1)

最近在編譯yabasic時老在configure時老過不過去,很受打擊,於是決定學習下這個autoconf的過程,網上看了些資料,再找個simple代碼改下,在linux下編譯出來,有了初步的結果,現在連結這塊還有不少問題。 引子  無論是在Linux還是在Unix環境中,make都是一個非常重要的編譯命令。不管是自己進行項目開發還是安裝應用軟體,我們都經常要用到make或 make

控制項整理之DropDownList資料繫結第一項為空白

我們在進行資料繫結時通常把一個表的某個欄位綁定到DropDownList中,我們以pubs庫的jobs表為例子,我們在顯示時顯示job_desc欄位,values值綁定job_id欄位。方法一:使用屬性設定,我們在DropDownList的items的屬性中添加一列為空白行,然後更改AppandBataBoundItems屬性為ture.綁定代碼:綁定代碼Code highlighting produced by Actipro CodeHighlighter (freeware)http://

implicit declaration of function 這種警告問題的原因及解決方案

最近在改進SD卡的SEP4020驅動時,在改掉所有的warning時老報一個implicit declaration of function 的警告錯誤,上網查了下原因,原來有兩種情況會產生這種情況1  沒有把函數所在的c檔案產生.o目標檔案2  在函數所在的c檔案中定義了,但是沒有在與之相關聯的.h檔案中聲明[root@mail linux]# make  CHK     include/linux/version.hmake[1]:

extern,標頭檔和ifndif宏

用#include可以包含其他標頭檔中變數、函數的聲明,為什麼還要extern關鍵字,如果我想引用一個全域變數或函數a,我只要直接在源檔案中包含#include<xxx.h>

SVN 搭建(個人筆記)

一. win平台 1.WIN 平台軟體需求   a.伺服器:安裝VisualSVN Server 軟體  b.用戶端:安裝TortoiseSVN 軟體 這個比較簡單,裝完就可以使用了 二.linux 平台伺服器端: appach + Subversion用戶端: Subversion1. 安裝appach  這裡採用源碼安裝,使用者可以用apt-get或者yum直接安裝檔案,免去源碼編譯的麻煩.即: yum install subversion httpd  (redhat使用yum)     

ListView 拖動的時候背景變黑

給ListView設定了背景圖片之後,一般情況下,ListView確實變得好看了!但是拖動過程中,ListView整體每個條目背景會變成黑色!那麼條目上的內容就沒法看到了!此時我們需要給ListView設定一個參數(android:cacheColorHint),使其背景透明或者指定一個顏色,如下:<ListView     android:layout_height="wrap_content"    android:layout_width="fill_parent"    

busybox1.10.4製作檔案系統

1)建立根檔案系統的基本目錄結構。我把這個過程做成了shell指令碼(檔案名稱為mkroot) ,很方便! #! /bin/sh echo "creatint rootfs dir......" mkdir rootfs cd rootfs echo "making dir : bin dev etc lib proc sbin sys usr" mkdir bin dev etc lib proc sbin sys usr #必備的8個目錄 mkdir

onInterceptTouchEvent()的機制

onInterceptTouchEvent()的機制:down事件首先會傳遞到onInterceptTouchEvent()方法 如果該ViewGroup的onInterceptTouchEvent()在接收到down事件處理完成之後return false,那麼後續的move,

網路編程常用函數集

inet_ntoa()  簡述:  將網路位址轉譯成“.”點隔的字串格式。  #include <winsock.h>  char FAR* PASCAL FAR inet_ntoa( struct in_addr in);  in:一個表示Internet主機地址的結構。  注釋:  本函數將一個用in參數所表示的Internet地址結構轉換成以“.”

time命令特殊用法

linux time 命令詳解使用方式: time [options] COMMAND [arguments]說明: time 指令的用途,在於量測特定指令執行時所需消耗的時間及系統資源等資訊。例如 CPU 時間、記憶體、輸入輸出等等。需要特別注意的是,部分資訊在 Linux 上顯示不出來。這是因為在 Linux 上部分資源的分配函式與 time 指令所預設的方式並不相同,以致於 time 指令無法取得這些資料。參數:-o or --output=FILE設定結果輸出檔。這個選項會將 time

4020組播的探討

暈死了,剛才發的一篇文章沒了,csdn太挫了,好不容易自己寫了一篇提交上去沒反應了。 最近在測試sep4020的網路,由於以前在移植4020的網卡驅動很多還不是太懂其中的組播部分有很大一段,但也是直接仿照別人的驅動直接移植上去的,最近想測試下4020的組播是否支援,於是上網找了幾篇文章看了下,然後開始設定。(1)首先當然是讓linux核心支援組播協議了,在menuconfig中的網路通訊協定棧部分選上相應的選項multicast:[*]   IP: multicasting           

U-BOOT啟動分析

1. u-boot/cpu/armxx/start.S2. u-boot/cpu/armxx/lowlevel_init.S3. u-boot/lib_arm/board.c   ... start_armboot() init_fnc_t *init_sequence[] = {  cpu_init,  /* basic cpu dependent setup */    u-boot/cpu/armxx/cpu.c  board_init,  /* basic board

重裝系統後的幾點注意:

1.記得重定位瀏覽器收藏夾的位置,這個一般瀏覽器選項裡面有。 2.記得重定位我的文件的位置,我用的深度就直接有這個功能(不好意思用了盜版,^_^),如果是普通的系統右擊我的文件屬性也是有這個功能的,重裝完系統後一定要核查下。 3.最容易忘記的一點,要將案頭重定位,一般我們平時工作都順手儲存在案頭上,但是一旦系統崩潰需要重裝,這些東西是在c盤的,所以也都一起香消玉殞,所以一定要對案頭重定位下:只要點開始,運行,輸入: reg add

Dalvik 調試分析

前言:dalvik 是 Android 的重要組成部分 ,掌握其運行機制對理解整個Android系統有著相當之大的協助。本文將介紹GDB單步調試和Dexdump工具的使用,期望為探索dalvik打下一定的基礎。 1. Dalvik 之編譯為了能夠更方便的調試dalvik,我們需要編譯一個在X86上啟動並執行dalvik和相關工具。編譯步驟如下:首先進入到Android 源碼根目錄 source build/envsetup.sh (不是網上有些文章寫的只輸入 build/envsetup.sh)

下拉式功能表dropdownlist一些用法

1.與資料庫綁定 SqlConnection conn= new SqlConnection(ConfigurationSettings.AppSettings["job"]);//資料庫連接資訊 SqlCommand myCommand = new SqlCommand( "select * from info", conn ); //SQL命令 myCommand.Connection.Open(); //開啟資料庫 SqlDataReader myReader =

關於sep4020 arm sample代碼中啟動部分,中斷返回部分,misc部分的修訂

花了點時間整理sep4020 sample代碼中的最底層部分的代碼,把自己的整理筆記貼出來,供以後參考: 一.發現的問題:1.usr的sp和sys的sp是相同的,所以不需要定義兩個sp;SP仍然是以8M的sdram為標準的,而現在都是32M的了;2.在msr  cpsr_cf, R4時只需要cpsr_c即可;3.PMU_PCSR的注釋有問題;4.配置結束之後緣何沒有回到user模式??5.中斷傳回碼混亂,已重新修改。6.heap.s直接通過定義個記憶體空間來取地址是不是太隨意了,經驗值heap.

大檔案上傳NeatUpload簡單用法

       一般10M以下的檔案上傳通過設定Web.Config,再用VS2005內建的FileUpload控制項就可以了,但是如果要上傳100M甚至1G的檔案就不能這樣上傳了,這時可以用NeatUpload來上傳,步驟如下:       1,在工具箱中添加Brettle.Web.NeatUpload.dll,這個應該會怎樣添加吧,我還是說一下吧,剛開始用自訂控制項的時候我也不會

MTK 點陣字型和適量字型的實現

字型的尋找:mmi_lm_arabic_draw_cluster() -->mmi_fe_show_single_cluster()  -->mmi_fe_show_font_data()   -->mmi_fe_shaper()    -->mmi_fe_get_font_data()        //根據使用的是向量字型還是點陣字型,擷取相應的字型資料     mmi_fe_get_font_data_internal()  //點陣字型資訊      -->

Activities(活動)

 http://www.ibm.com/developerworks/cn/opensource/os-cn-android-actvt/在 android 中,Activity 擁有四種基本狀態:Active/Runing一個新 Activity 啟動入棧後,它在螢幕最前端,處於棧的最頂端,此時它處於可見並可和使用者互動的啟用狀態。Paused 當 Activity 被另一個透明或者 Dialog 樣式的 Activity 覆蓋時的狀態。此時它依然與視窗管理器保持串連,系統繼續維護其內部狀態,

總頁數: 61357 1 .... 20113 20114 20115 20116 20117 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.