zoukankan      html  css  js  c++  java
  • apue 20130314

    1.  做什么。文字

    2.  分析。  思考

    3.  设计。  伪代码

    1嵌入式方向。

    2图形编程:qt(c++) gtk(c)

    3应用程序:vim ls ps等。Linux c开发

    4系统:linux(分时);

                                       系统构建(cpu(arm)  内存 硬盘(flash芯片))

    5驱动程序:硬件

    6硬件:pcb画图工具,设计硬件难

    Linux arm嵌入式文件系统

                                GRUB引导程序  bootloader  linux kernel

    职位:1GUI编程:qt c++(很难) 3

             2C,gcc,gdb,makefile,linuxapi(接口)(apue) 4~5

                         Apue:文件,多进程,多线程,进程间的通信,网络编程

          3系统构建 bootloader linuxkernel 文件系统  1

          4 驱动或裸机 3~4

    程序=数据+算法

                  数据来源?

                  有线:网线

            无线:

            Svn,cvs 上传工具,版本管理软件

    段错误:两行

                         Printf(“=============\n”);

                         Printf(“+++++++++++++\n”);找到所有段错误

    10->100->1000->10000

    200(10个程序)

    练习题:统计指定目录中所有.c文件的行数

                  Wc *.c

                  Mmap+memmove+truncate文件内容修改

                  Mytt abc xyz file

                  Mytt xyz a        八皇后问题

    C笔记

    1. 自己的笔记
    2. 代码

    C语言概述

    为什么学习C语言?

    为什么要编程?

    答:让计算机作事情

           二进制      ->       编程语言   ->     自然语言

    c/c++

    编译类:C,C++(效率高)

    解释类:shell,python(脚本),java.

    思想    ->          a.c             ->            a.out

    Vi+c语言语法        a.c gcc                       a.out  二进制文件

    Gcc

    Gcc a.c –o a 把a.c编译成a.out  elf 可执行文件

    Gcc –E    #号开头去掉

    Gcc –S    把C  ->   汇编

                          I=9;

                          Fun (i++,++I,++I,i++)

                          不同编译器不同

    Gcc –c(小写)   二进制做库.libc

    Gcc –L        增加搜索库的路径

    Gcc –l         -lpthread编译时加载指定的库

    Gcc –I         增加搜索头文件的路径

    Gcc –g         调试版本   a.out 有a.c 源代码  gdb使用  objdump反汇编

    Gcc –Wall      警告

    Gcc –O0~9      编译优化

                                Volatile  int   a;易变,防止优化

                                Const   int   a;不可变

    Gcc –std=c99  a.c      对c99标准的支持   c89

                          For ( int i=1;i<10;i++)

    Gcc –DN=9       条件编译   #define N 9(很有用)一个代码两个版本

    -Ddug        调试   release  发步信息

    #ifndef   N

                         If (i%2==0)

                                              Printf(“%d\n”,i);

    #else

                         Printf(“%d\n”,i);

    #endif

    出错:   编译出错    执行出错

             A=10;       汇编

    .c   ->   二进制文件    gcc 编译器

    程序=数据+算法

    数据的组织形式:数据结构

    集合:int a;int b;

    线性结构:int arr[10];变长数组  变长结构体

             一对一(数组),链表

           前提:int arr[x]  x变量

                  Void fun(int x)

                  {

                         Int arr[x];

    }

    Main()

    {

           Int x=10;

           fun (x);

    }

    树状:一对二,二叉树

    图:一对多

    算法:操作数据的方法

    Vim 的配置文件

                                       /etc/vimrc  全局配置文件

                                       ~/vimrc    当用户的配置文件(主目录)

    Set   number

    Set   ci   自动对齐

    替换 ab .i #include <stdio.h>   ab .m int main(int argc,  char **argv)

    Vim 命令

                  Ctrl +n 自动补齐;输入模式   必须加载头文件

                  行首gg=G末尾   命令行  对齐

                  ==单行对齐

    Int arr[x];     栈  sizeof(int)*x

    堆Malloc(sizeof(int)*x)  

    最大线程有限

    作业:

    1.  思考.helloworld  程序如何执行

    如果没有#include <stdio.h>,问题?也能

    是谁帮助我们把helloworld输出到屏幕上

    2完整定义变量的格式

    [][][][] a;

    Int a;

    1. sizeof()运算符

    int a;

    cha *p=”abcd”;

    char *p1[10];

    void *p2=”abcd”;                       

    sizeof(int);

    sizeof(void);

    sizeof(9);

    sizeof(‘a’);

    sizeof(“abcdefg”);

    sizeof(*(void *)p2);



  • 相关阅读:
    JAVA基础——编程练习(二)
    JAVA基础——面向对象三大特性:封装、继承、多态
    JVM内存
    50. Pow(x, n) (JAVA)
    47. Permutations II (JAVA)
    46. Permutations (JAVA)
    45. Jump Game II (JAVA)
    43. Multiply Strings (JAVA)
    42. Trapping Rain Water (JAVA)
    41. First Missing Positive (JAVA)
  • 原文地址:https://www.cnblogs.com/wangjingyuwhy/p/2960453.html
Copyright © 2011-2022 走看看