美文网首页
2018-08-15 NDK day3

2018-08-15 NDK day3

作者: 小周爱吃瓜 | 来源:发表于2018-08-15 23:13 被阅读1次

    结构体申明
    struct Stu{
    int age;
    short j;
    }s1,s2;

    也可以使用typedef Stu{

    } 的形式去定义.

    2 结构体所占字节是结构体中最长变量的N倍.

    编译器为了优化,

    3 内存共用,union MyUnion. 复用一块共有的内存地址区域.

    占用内存 int i = 0;
    Int j = 0;


    • 下面开始c++,ffmpeg是用C编写的.

    ffmpeg 库中的头文件

    Extends “c” 指示编译器将这部分代码以c的形式进行编译.
    为了起到两者的编译文件进行匹配的效果。
    c++ 使用c库需要进行这样的extern申明.


    c++ 中多了一种引用类型。
    & 取地址值 *接触引用.

    1. 字符串
      操作符重载: 用+来进行拼接
    • string str5 = str1 +str3;
    • str5.append(str5);

    // CMakeProject4.cpp: 定义应用程序的入口点。
    //

    include "CMakeProject4.h"

    using namespace std;

    extern "C";
    namespace A {
    namespace B{
    void test() {

        }
    }
    

    }
    //不想每次都使用A::B::test(); 的形式就是用下面的方式进行使用
    //c++ 是可以进行重载的
    using namespace A;
    int main()
    {
    int j = 100;
    int *p = &j;

    printf("%d\n", sizeof(j));
    
    //char str[] = { 'h','e','1','\0'};
    //char *str = "hello";
    
    string str = "天之道";
    
    string *str4 = new string("需要这样进行操作");
    //用指针的好处 
    // 1 出方法 清理栈
    // 2 指针 4/8 指针本身占用的内存少,效率上会更加的高
    // 3 c++ 的命名空间,就相当于java当中的包
    
    //操作重名的全局变量的时候,可以使用域作用符
    A::B::test();
    
    printf("%s\n", str);
    //使用malloc = free
    // new = delete;
    // new 数组 = delete[]的形式进行删除
    
    system("pause");
    
    return 0;
    

    }

    Android linux 是so,但是window是dll.

    友元函数,虚函数.

    Summary:

    引用类型
    extern "C"
    

    c的字符串的各项申明
    命名空间.

    结构体的各种写法

    1. type1
        struct Stu stu = { "zhangsan",21 };
    2. type2
        struct Stu stu1;
        stu1.age = 21;
        stu1.name = "zhangsan";
    
        printf("年龄%d 姓名: %s\n", stu.age,stu1.name);
    

    相关文章

      网友评论

          本文标题:2018-08-15 NDK day3

          本文链接:https://www.haomeiwen.com/subject/mvrgbftx.html