zoukankan      html  css  js  c++  java
  • Linux C语言编程基础

    二叉树编程基础练习

    #include "btree.h"
    #include "linkqueue.h"
    #include "linkstack.h"
    btree_pnode create_btree1(void)
    {
    dataype_bt ch;
    btree_pnode new;
    scanf("%c",&ch);
    if('#'==ch)
    {
    return NULL;
    }
    else
    {

    new=(btree_pnode)malloc(sizeof(btree_node));
    if(NULL==new)
    {
    perror("malloc");
    exit(-1);
    }
    new->data=ch;

    new->lchild=create_btree1();

    new->rchild=create_btree1();
    }
    return new;
    }

    void create_btree(btree_pnode *T)
    {
    dataype_bt ch;
    scanf("%c",&ch);
    if('#'==ch)
    {
    return ;
    }
    else{

    (*T)=(btree_pnode)malloc(sizeof(btree_node));
    if(NULL==(*T))
    { perror("malloc");
    exit(-1);
    }
    (*T)->data=ch;

    create_btree(&((*T)->lchild));

    create_btree(&((*T)->rchild));
    }
    }

    void pre_order(btree_pnode t)
    {
    if(t!=NULL)
    {

    printf("%c",t->data);

    pre_order(t->lchild);

    pre_order(t->rchild);
    }
    }

    项目构建

    文件目录树:

    gcc相关练习

    gcc的ESc和iso


    静态库与动态库的调用练习

    静态库制作

    使用命令gcc src/.c -Iinclude -o lib/.o就可以生成对应.o并放在lib路径中
    将所有.o合成一个静态库
    ar -rc lib/libmyod.a lib/*.o

    创建动态库

    可以分为两步:

    第一步:生成目标文件,此时要加编译器选项-fPIC。[ps:-fPIC是创建与地质无关的编译程序,是为了能够在多个应用程序间共享]

    gcc -fPIC -c hello.c
    第二步:生成动态库,此时要加链接器选项-shared。[ps:-shared是指定生成动态链接库]

    gcc -shared -o libmyhello.so hello.o
    以上两步也可以写成一条指令:

    gcc -shared -fPCI -o libmyhello.so hello.c

    gdb相关练习

    行断点:break+行号

    临时断点:tbreak+行号

    函数断点:break+函数名

    条件断点:break+行号+if+条件

    • 其他步骤
      开始运行:run
      查看变量的值:disp 变量名
      单步执行(进入函数):s
      单步执行(不进入函数):n
      跳出函数:finish
      跳出循环:until

    编写makefile

  • 相关阅读:
    asp.net web生命周期
    图的数据结构1
    最长公共子串
    内部排序

    棋盘覆盖问题
    队列
    矩阵连乘问题
    图的数据结构2
    旅行售货员问题
  • 原文地址:https://www.cnblogs.com/1208499954qzone/p/15337476.html
Copyright © 2011-2022 走看看