C语言
文章平均质量分 93
C语言
chexitianxia
这个作者很懒,什么都没留下…
展开
-
android Jni开发 minicap在win上编译--------5
部分内容采自:https://blog.csdn.net/Sunxiaolin2016/article/details/906975551、通过git下载minicap源码: win环境下:git clonehttps://github.com/openstf/minicap.git2、micicap项目还依赖于libjpeg-turbo,首先我们需要在minicap引入libjpeg-turbo项目源码: cd minicap git submodule in...转载 2021-03-01 21:24:03 · 375 阅读 · 0 评论 -
android Jni开发-实战篇(CMake) --------------4
本文章转自:https://blog.csdn.net/u013564742/article/details/86530791本例demo下载地址:JniDemo下载目标:实现一个简单的jni函数sum(int a, int b),返回a+b的结果。一个稍微复杂点的jni函数twoSum(int nums[], int target),实现的是leetcode上的一个题目TwoSum,内容是给定数组及目标数字,返回符合目标数字的2个数的下标(数组类型)。先看一下项目结构图,和JniDemo中的转载 2021-02-26 13:53:32 · 169 阅读 · 0 评论 -
LINUX系统学习二(进程共享、exec族函数、孤儿进程与僵尸进程、wait、waitpid)
1、进程共享 1、父子相同处:全局变量、data、text、栈、环境变量、用户ID、宿主目录、进程工作目录、信号处理方式。。。 2、父子不同处:进程ID 、fork返回值、父进程ID、进程运行时间、闹钟(定时器)、未决信号集 3、实际上父子进程间遵循读时共享写时复制的原则,来节省内存开销。示例[root@VM_0_5_centos test3]# more shared.c #include <stdio.h>#include <unist...原创 2020-09-15 15:57:39 · 125 阅读 · 0 评论 -
LINUX系统学习一(进程、MMU,环境变量、getenv、fork、getpid/getppid、ps、kill)
1、进程的概念编译好的二进制文件叫程序进行是运行起来的程序站在程序员的角度:运行一系列指令的过程站在操作系统角度:分配系统资源的基本单位区别:程序占用磁盘,不占用系统资源 进程占用系统资源 一个程序对应多个进程,可以同时运行多个,一个进程对应一个程序 程序没有生命周期,进程有生命周期2、进程的过程3、进程的状态4、MMU的作用1、虚拟内存和物理内存的映射2、修改内存访问级别3、用户空间映射到物理内在是独立的5、进程控制块PCBroot@原创 2020-09-06 17:00:24 · 261 阅读 · 0 评论 -
LINUX命令基础记录八(chown、rename、getcwd、chdir、mkdir、redir、errno、dup2和dup )
1、chown改变用户和组int chown(const char *path, uid_t owner, gid_t group);Path 文件名owner用户ID,/etc/passwd group 组ID ,/etc/group2、rename重命名文件或目录int rename(const char *oldpath, const char *newpath);oldpath旧文件newpath新文件[root@VM_0_5_centos test2]# m.原创 2020-09-01 17:44:56 · 371 阅读 · 0 评论 -
LINUX命令基础记录七(系统API和库函数:stat、access、truncate、link、symlink、readlink、unlink)
1、系统能同时打开最大的文件数[root@VM_0_5_centos test2]# more openmax.c #include <stdio.h>#include <unistd.h>#include <sys/stat.h>#include<sys/types.h>#include<fcntl.h>int main(){ int num=3; char filename[128]={0};原创 2020-08-28 16:58:50 · 253 阅读 · 0 评论 -
LINUX命令基础记录六(系统API和库函数:open、close、read、write、lseek、fcntl)
1、文件IO:openroot@iZwz92i2y5nf0vblrdwo90Z:~# man 2 openint open(const char *pathname, int flags);int open(const char *pathname, int flags, mode_t mode);pathname---文件名flags-------必选项 O_RDONLY只读 O_WRONLY只写 O_RDWR...原创 2020-08-25 15:48:44 · 286 阅读 · 0 评论 -
LINUX命令基础记录五(gdb)
1、使用gdb:编译的时候加-g参数[root@VM_0_5_centos test]# gcc add.c main.c -o app -I ./include -g1、启动gdb:gdb app(对应可执行程序名)[root@VM_0_5_centos test]# gdb appGNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-80.el7Copyright (C) 2013 Free Software Foundation, Inc.Licen原创 2020-08-24 15:39:33 · 172 阅读 · 0 评论 -
LINUX命令基础记录四(Makefile)
1.Makefile的命名规则Makefilemakefile2.makefile的三要素目标依赖规则命令3.makefile编写 第一版[root@VM_0_5_centos test]# tree|-- add.c|-- div.c|-- include| `-- head.h|-- lib|-- main.c|-- mul.c`-- sub.c写法:目标:依赖tab键 规则命令makefile...原创 2020-08-21 17:29:15 · 122 阅读 · 0 评论 -
LINUX命令基础记录三(gcc 使用)
gcc工作流程 gcc也可以一步生成执行文件 [root@VM_0_5_centos test_c]# tree|-- add.c|-- app`-- include`-- head.hadd.c#include <stdio.h>#include "head.h"int main(void){ int c; int a=10,b=20;#ifdef DEBUG printf("hello wor原创 2020-08-20 17:12:54 · 99 阅读 · 0 评论 -
一维数组,二维数组,数组指针,指针数组
一维数组int a[]={1,3,5}a:数组首行首元素地址,一级指针&a:整个数组的首地址,二级指针a+1:跳4个字节&a+1:跳12个字节sizeof(a) :取的是整个数组长度12字节sizeof(a[0]):取的是数组首元素,4字节sizeof(&a):传的是一维数组整个数组的地址(首行地址),4个字节&a :首行地址*&a -...原创 2019-12-30 17:35:27 · 539 阅读 · 0 评论