判斷字串中字元出現的頻率

#include "stdio.h"#include "stdlib.h"int main(){char a[50];gets(a);printf("%s\n",a);char re[50];int num[50]; int k=0,flag=0,j=0,i;re[0]=a[0];num[0]=1;for (i=1;a[i]!=0;i++){flag=0;for (j=0;j<=k;j++){if (re[j]==a[i]){ flag=1; break;}}if

do{ … } while(0)

  為什麼在核心中碰到很多 #defines ... do{ ... } while(0)?  有以下幾點原因:  ·空語句在編譯時間候會出現警告,所以有必要用#define FOO do { } while(0).  ·這樣做是為了能夠在裡面定義局部變數  ·這樣做是為了能夠在條件陳述式中使用複雜的宏定義. 例如下面這段代碼:  #define FOO(x) \  printf("arg is %s\n", x); \  do_something_useful(x);  如果這樣用:  if

strtol,strtoul,strtod

Technorati 標籤: strtol,strtoul,strtod函數原型:long int strtol ( const char * str, char ** endptr, int base );unsigned long int strtoul ( const char * str, char ** endptr, int base );double strtod ( const char * str, char ** endptr

小端位元組序 強制類型轉換

/* * ===================================================================================== * * Filename: point.c * * Description: * * Version: 1.0 * Created: 2013年03月12日 14時17分25秒 * Revision: none * Compiler:

編譯核心模組的Makefile中的($(KERNELRELEASE),)是什麼意思?

編譯核心模組的Makefile中的($(KERNELRELEASE),)是什麼意思?在編譯核心模組時,如有Makefile檔案如下:ifneq ($(KERNELRELEASE),)param-objs := file1.o file2.oobj-m := param.oelseKDIR := /lib/modules/2.6.18-53.el5/buildall:      make -C $(KDIR) M=$(PWD) modulesclean:      rm -f *.ko *.o *

pirntf 和路徑轉換問題.遺留

printf("%d, %d\n", a, b);C/C++都一致的,即都是先運算b,b入棧(儲存進緩衝區),運算a,a入棧(儲存進緩衝區) 輸出(顯示)時,a先出棧(a緩衝區被重新整理),b出棧(b緩衝區被重新整理)#include <stdio.h>#include <string.h>int main(int argc, const char *argv[]){/* *char p[] = "a/b/c/d"; */char p[] =

進程上下文、中斷上下文

進程上下文和中斷上下文是作業系統中很重要的兩個概念,這兩個概念在作業系統課程中不斷被提及,是最經常接觸、看上去很懂但又說不清楚到底怎麼回事。造成這種局面的原因,可能是原來接觸到的作業系統課程的教學總停留在一種淺層次的理論層面上,沒有深入去研究。處理器總處於以下狀態中的一種:1、核心態,運行於進程上下文,核心代表進程運行於核心空間;2、核心態,運行於中斷上下文,核心代表硬體運行於核心空間;3、使用者態,運行於使用者空間。 

添加sudo使用者

第一種方法: 添加sudo使用者 當你安裝Ubuntu的時候,它會自動添加第一個使用者到sudo組,允許這個使用者通過鍵入其自身帳戶密碼來獲得超級使用者(root)身份。然而,系統不會再自動添加其他的使用者到sudo組當中去。如果你想在你的共用系統上授予某人某些超級使用者特權,你必須給予他們sudo權利。 要添加新使用者到sudo,最簡單的方式就是使用 usermod 命令。運行 $sudo usermod -G admin

安裝jeffy.txt

一,配置網路:/etc/network/interfaceauto eth0 iface eth0 inet staticaddress 192.168.1.222netmask 255.255.255.0gateway 192.168.1.1/etc/resolv.confnameserver 192.168.1.1sudo /etc/init.d/networking restartifconfigping 192.168.1.1ping www.baidu.com二,下載vim

些指令碼的時,注意事項

1.首先要source ~/.bashrc2.注意環境變數#!/bin/bashsource /home/mazi/.bashrcPath="/home/mazi/source/$1/F3"repoPath="/home/mazi/bin/repo"cd "$Path"$repoPath forall -c 'git checkout -f;git clean -fd'$repoPath forall -c 'git checkout dev'$repoPath sync -j24for

tat函數說明

stat函數說明學習,stat,lstat,fstat 1 函數都是擷取檔案(普通檔案,目錄,管道,socket,字元,塊()的屬性。函數原型#include <sys/stat.h>int stat(const char *restrict pathname, struct stat *restrict buf);提供檔案名稱字,擷取檔案對應屬性。int fstat(int filedes, struct stat *buf);通過檔案描述符擷取檔案對應的屬性。int lstat(

核心驅動中常見的miscdevice、platform_device、platform_driver

最近在看驅動模型,是越看越糊塗,以前接觸比較多的都是一些字元驅動,對字元驅動的架構有一定的瞭解。後來因為想在驅動中實現裝置檔案的建立,又瞭解了一下,sysfs檔案系統和udev裝置檔案系統,必然就涉及到了驅動模型。可是發現驅動模型和以前接觸的字元驅動沒什麼聯絡。比如,以前寫字元驅動,主要的內容就是實現file_operations結構體裡的函數,然後就是申請裝置號,註冊字元裝置,根本就沒有涉及到裝置驅動模型。而驅動模型裡,device_driver根本沒有涉及到裝置操作的函數、file_oper

ctags tags 函數 變數 尋找

安裝jeffy後再Makefile下按F9就會自動產生tags檔案熟練的使用ctags僅需記住下面幾條命: 1.$ ctags –R *    ($ 為Linux系統Shell提示符,建立tags檔案)        2.$ vi –t tag       (請把tag替換為您欲尋找的變數或函數名)        3.:ts                   (ts  助記字:tags list, “:”開頭的命令為VI中命令列模式命令)        4.:tp               

配置uboot編譯環境

編譯 S5PC100 uboot下載交叉編譯工具,在arm官網,就能下載到。配置換將變數    vi ~/.bashrc    在裡面添加,你的交叉編譯工具的位置,如:    export PATH=/home/kitten/x-tools/arm-cortex_a8-linux-gnueabi/bin/:$PATH修改uboot根目錄的Makefile檔案,找到CROSS_COMPILE,修給如下    CROSS_COMPILE := arm-cortex_a8-linux-gnueabi-

清晰磁碟結構

一塊新磁碟,需要將它分區、格式化,然後再安裝上作業系統才可以使用。格式化是指系統為了達到隨機存取磁碟資料的目的,需要在盤的磁軌上規划出磁軌 和扇區,每個扇區以引導標記和扇區標記作為扇區的起始,然後才是扇區的內容,後面還有校正標記。格式化後,磁碟被分為面、磁軌、扇區和簇。一個面對應一個 磁頭,每個面由若干個磁軌組成,每個磁軌又被分成若干個扇區。物理相鄰的若干個扇區組成一個簇。作業系統讀寫磁碟的基本單位是扇區,而檔案分配的基本單位

怎樣安裝Ubuntu作業系統

Ubuntu 是一個啟動速度超快、介面友好、安全性好的開源作業系統,它由全球頂尖開源軟體專家開發,適用於案頭電腦、膝上型電腦、伺服器以及迷你筆記型電腦等,並且它可以永久免費使用。如果你厭倦了Windows,如果你想體驗當今世界上使用者量增長最快的Linux作業系統,不妨跟著這個教程來為你的電腦添加一個Ubuntu。(放心,你的Windows系統不會受到任何影響,安裝完成後,你可以自由的選擇進入哪一個作業系統 :-P)準備工作1.

殺掉D狀態的進程

原貼:http://www.xclinux.cn/?p=752如何殺掉D狀態的進程?[zt]       狀態為 D (Uninterruptible sleep) ,以及狀態為 Z (Zombie)這些垃圾進程要麼是求而不得,像怨婦一般等待資源(D),要麼是僵而不死,像冤魂一樣等待超度(Z),它們在 CPU run_queue 裡滯留不去,把 Load Average 弄的老高老高,沒看過我前一篇blog的國際友人還以為這兒民怨沸騰又出了什麼大事呢。怎麼辦?開槍!kill

用dpkg命令製作deb包方法總結

用dpkg命令製作deb包方法總結如何製作Deb包和相應的軟體倉庫,其實這個很簡單。這裡推薦使用dpkg來進行deb包的建立、編輯和製作。首先瞭解一下deb包的檔案結構:deb 軟體包裡面的結構:它具有DEBIAN和軟體具體安裝目錄(如etc, usr, opt,

Ubuntu root的密碼

Ubuntu root的密碼是Ubuntu使用者必須學習使用的,由於Ubuntu root密碼還有很多人不會應用所以由我來簡述說明下,至於管用否就看人品了.Ubuntu root系統的特性,既可作為高校電腦專業Ubuntu root學習,也可以作為Ubuntu root系統開源愛好者、Ubuntu root系統使用者的學習。第一部分:如何破解Ubuntu root密碼。Linux安裝完畢後會有一個Ubuntu root使用者。那麼如何在不知道密碼的情況下修改掉Ubuntu

程式員面試寶典—小尾位元組序求值

typedef struct bitstruct{int b1:5;int :2;int b2:2;};bitstruct b;memcpy(&b,"EMC",sizeof(b));cout<<b.b1<<", "<<b.b2<<endl;這段代碼運行結果是:5,-2;解析:在小端儲存中,高位位元組在高地址,低位位元組在低地址;bitstruct結構體佔了9個位;執行記憶體複製函數之後,只考進來了9位 E---0x45   M----0x4

總頁數: 61357 1 .... 17097 17098 17099 17100 17101 .... 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.