欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

apue 2013-03-14

发布时间:2025/3/14 编程问答 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 apue 2013-03-14 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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笔记

  • 自己的笔记
  • 代码
  • 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;

  • 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);

     



     

     

     

    转载于:https://www.cnblogs.com/wangjingyuwhy/archive/2013/03/14/2960453.html

    总结

    以上是生活随笔为你收集整理的apue 2013-03-14的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。