apue 2013-03-14
1.? 做什么。文字
2.? 分析。? 思考
3.? 設(shè)計(jì)。? 偽代碼
?
?
1嵌入式方向。
2圖形編程:qt(c++) gtk(c)
3應(yīng)用程序:vim ls ps等。Linux c開發(fā)
4系統(tǒng):linux(分時(shí));
?????????????????????????????????? 系統(tǒng)構(gòu)建(cpu(arm)? 內(nèi)存 硬盤(flash芯片))
5驅(qū)動(dòng)程序:硬件
6硬件:pcb畫圖工具,設(shè)計(jì)硬件難
?
?
Linux arm嵌入式文件系統(tǒng)
??????????????????????????? GRUB引導(dǎo)程序? bootloader? linux kernel
?
職位:1GUI編程:qt c++(很難) 3
?????? ? 2C,gcc,gdb,makefile,linuxapi(接口)(apue) 4~5
???????????????????? Apue:文件,多進(jìn)程,多線程,進(jìn)程間的通信,網(wǎng)絡(luò)編程
???? ?3系統(tǒng)構(gòu)建 bootloader linuxkernel 文件系統(tǒng)? 1
????? 4 驅(qū)動(dòng)或裸機(jī) 3~4
?
程序=數(shù)據(jù)+算法
????????????? 數(shù)據(jù)來源?
????????????? 有線:網(wǎng)線
??????? 無線:
??????? Svn,cvs 上傳工具,版本管理軟件
?
段錯(cuò)誤:兩行
???????????????????? Printf(“=============\n”);
???????????????????? Printf(“+++++++++++++\n”);找到所有段錯(cuò)誤
?
10->100->1000->10000
200(10個(gè)程序)
?
練習(xí)題:統(tǒng)計(jì)指定目錄中所有.c文件的行數(shù)
????????????? Wc *.c
????????????? Mmap+memmove+truncate文件內(nèi)容修改
????????????? Mytt abc xyz file
????????????? Mytt xyz a??????? 八皇后問題
?
C筆記
C語言概述
為什么學(xué)習(xí)C語言?
為什么要編程?
答:讓計(jì)算機(jī)作事情
?????? 二進(jìn)制????? ->?????? 編程語言?? ->???? 自然語言
c/c++
編譯類:C,C++(效率高)
解釋類:shell,python(腳本),java.
?
?
思想??? ->????????? a.c???????????? ->??????????? a.out
Vi+c語言語法??????? a.c gcc?????????????????????? a.out? 二進(jìn)制文件
?
Gcc
Gcc a.c –o a 把a(bǔ).c編譯成a.out? elf 可執(zhí)行文件
Gcc –E ???#號(hào)開頭去掉
Gcc –S ???把C? ->?? 匯編
???????????????????? ?I=9;
???????????????????? ?Fun (i++,++I,++I,i++)
???????????????????? ?不同編譯器不同
Gcc –c(小寫)?? 二進(jìn)制做庫.libc
Gcc –L ???????增加搜索庫的路徑
Gcc –l ????????-lpthread編譯時(shí)加載指定的庫
Gcc –I ????????增加搜索頭文件的路徑
Gcc –g ????????調(diào)試版本?? a.out 有a.c 源代碼? gdb使用? objdump反匯編
Gcc –Wall ?????警告
Gcc –O0~9????? 編譯優(yōu)化
??????????????????????????? Volatile ?int?? a;易變,防止優(yōu)化
??????????????????????????? Const ??int?? a;不可變
Gcc –std=c99? a.c????? 對(duì)c99標(biāo)準(zhǔn)的支持?? c89
????????????????????? For ( int i=1;i<10;i++)
Gcc –DN=9?????? 條件編譯?? #define N 9(很有用)一個(gè)代碼兩個(gè)版本
-Ddug??????? 調(diào)試?? release? 發(fā)步信息
#ifndef?? N
???????????????????? If (i%2==0)
????????????????????????????????????????? Printf(“%d\n”,i);
#else
???????????????????? Printf(“%d\n”,i);
#endif
?
出錯(cuò): ??編譯出錯(cuò)??? 執(zhí)行出錯(cuò)
???????? A=10;?????? 匯編
?
.c?? ->?? 二進(jìn)制文件??? gcc 編譯器
程序=數(shù)據(jù)+算法
數(shù)據(jù)的組織形式:數(shù)據(jù)結(jié)構(gòu)
集合:int a;int b;
線性結(jié)構(gòu):int arr[10];變長(zhǎng)數(shù)組? 變長(zhǎng)結(jié)構(gòu)體
???????? 一對(duì)一(數(shù)組),鏈表
?????? 前提:int arr[x]? x變量
????????????? Void fun(int x)
????????????? {
???????????????????? Int arr[x];
}
Main()
{
?????? Int x=10;
?????? fun (x);
}
樹狀:一對(duì)二,二叉樹
圖:一對(duì)多
?
算法:操作數(shù)據(jù)的方法
?
Vim 的配置文件
?????????????????????????????????? /etc/vimrc? 全局配置文件
?????????????????????????????????? ~/vimrc??? 當(dāng)用戶的配置文件(主目錄)
Set ??number
Set ??ci?? 自動(dòng)對(duì)齊
?
替換 ab .i #include <stdio.h>?? ab .m int main(int argc,? char **argv)
?
Vim 命令
????????????? Ctrl +n 自動(dòng)補(bǔ)齊;輸入模式?? 必須加載頭文件
????????????? 行首gg=G末尾?? 命令行? 對(duì)齊
????????????? ==單行對(duì)齊
?
Int arr[x];???? 棧? sizeof(int)*x
堆Malloc(sizeof(int)*x)??
最大線程有限
?
作業(yè):
1.? 思考.helloworld? 程序如何執(zhí)行
如果沒有#include <stdio.h>,問題?也能
是誰幫助我們把helloworld輸出到屏幕上
2完整定義變量的格式
[][][][] a;
Int a;
int a;
cha *p=”abcd”;
char *p1[10];
void *p2=”abcd”;???????????????????????
sizeof(int);
sizeof(void);
sizeof(9);
sizeof(‘a(chǎn)’);
sizeof(“abcdefg”);
sizeof(*(void *)p2);
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/wangjingyuwhy/archive/2013/03/14/2960453.html
總結(jié)
以上是生活随笔為你收集整理的apue 2013-03-14的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重写JFrame的扩大 缩小 关闭按钮
- 下一篇: OpenGL - Normal Map