- 博客(39)
- 收藏
- 关注

原创 C语言基础
int小于等于数据线宽度,size_t大于等于地址线宽度。数组和指针char *c = "abc"//类似于常量,不能更改,会出错char c[] = "abc" //c[]就是普通的字符串数组,可以更改,不会出错————————————————————————————————————————————————————结构体和指针使用动态内存分配的方式创建结构体,
2017-12-26 19:35:20
418
原创 ubuntu 多网络下内外网路由方法
通过ip route可以看出,有两个default,192.168.1.1(内网)的优先级高于10.211.20.1(外网)enxf8e43b0b0836: USB转千兆有线网卡,用于测试设备的VLAN。vlan21: 用enxf8e43b0b0836配置出的vlan。可以同时访问内外网,并且vlan也可用。思科VPN也能正常访问。遇到问题,打开所有网络时,内网可以访问,但无法访问外网。eno2: 台式机有线网卡,用于公司内网。wlo1: WiFi,用于访问外网。删除192.168.1.1。
2023-05-12 14:56:11
692
原创 初次使用MySQL 安装及使用方法
下载Mysql download配置环境变量配置完环境变量要重启注册账户https://blog.youkuaiyun.com/lan3629796/article/details/107128163/登录账户mysql -u root -p免密码登录方法:https://blog.youkuaiyun.com/weixin_41688619/article/details/79879003...
2021-10-20 18:37:57
131
原创 多媒体行业 常用英语
transport streams(TS) 传输流elementary streams(ES) 基本流descramble multiple transport streams 解扰多个传输流tuner 调谐器re-scrambled partial transport streams 重新加扰的部分传输流several functional hardware blocks 几个功能硬件块de-multiplex 解复用parses 解...
2021-08-12 11:54:32
233
原创 Source Insight如何删除没用的project
用十六进制编辑器打开 "C:\Users\zzhu\Documents\Source Insight 4.0\Projects\project_list.sidb" 文件 ,找到你要删除的项目路径及名称字符串,用0替换相关位置的数据。
2021-07-29 17:57:47
1000
原创 UID、EUID、GID、EGID、PGID
UID:创建进程的用户信息EUID:创建进程的用户对进程所属可执行文件的操作权限信息,还包括是否有使用kill系统调用发送软中断信息到Linux内核结束进程的权限GID:创建进程的用户所属群组的信息EGID:用于标识进程目前所属用户组。和GID不同,因为进程执行时所属用户组可能改变PGID:用于标识进程组信息gid_t getgid(void); 获取运行进程的GID gid_t getegid(void); 获取运行进程的EGID pid_t getpi...
2021-07-21 15:41:43
1730
转载 函数fork与vfork的区别与联系详解
创建一个新进程的方法只有由某个已存在的进程调用fork()或vfork(),当然某些进程如init等是作为系统启动的一部风而被内核创建的。1.fork函数介绍#include <sys/types.h>#include <unistd.h>pid_t fork (void );正确返回:父进程中返回子进程的进程号;子进程中返回0;(单调用双返回函数)错误返回:-1;子进程是父进程的一个拷贝。具体说,子进程从父进程那得到了数据段和堆栈段,但不是与父进程共享而是单独分
2021-07-21 11:43:51
392
原创 LSB to MSB
#include <stdio.h>#include <stdlib.h>#include <string.h>void bit_rev(unsigned char *origin){ *origin = (((*origin & 0x55) << 1) | ((*origin >> 1) & 0x55)); *origin = (((*origin & 0x33) << 2) | ((*orig.
2021-07-19 14:40:30
468
转载 C++ static 类的数据和函数的使用方法
https://www.cnblogs.com/heyonggang/p/3296378.html
2021-07-05 11:56:24
194
原创 管道原理,C语言实现
#include <unistd.h>int fd[2];void run_ls(void){ char *argv[]={"ls", "-l", NULL}; //传递给执行文件的参数数组,这里包含执行文件的参数 char *envp[]={0, NULL}; //传递给执行文件新的环境变量数组 dup2(fd[1], 1); close(fd[0]); close(fd[1]); execve("/bin/ls", argv, en...
2021-06-18 15:20:55
266
原创 Linux下,信号用法
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <signal.h>void sighandler(int);int main(){ signal(SIGINT, sighandler); printf("HelloWorld!\n"); while(1) { printf("running...\n"); sleep(1); }...
2021-06-18 14:01:24
109
原创 HEVC(H.265) 基础知识
最近由于工作需求,需要学习HEVC。最初一头雾水,都不了解这个是视频bian'ga简称HEVCHigh Efficiency Video Coding
2021-06-04 15:41:33
1761
原创 getopt使用方法
头文件#include <unistd.h>函数声明int getopt(int argc, char * const argv[], const char *optstring);参数argc —— 提供给主函数的参数个数argv —— 参数的字符串数组的指针optstring —— 由三部分组成,第一部分是可选的字符’+‘或’-’,第二部分是一个可选的字符’:’,第三部分是具体的选项字符串。1. 单个字符:表示选项后不带参数。2. 单个字符后接一个冒号:..
2021-05-27 16:37:17
848
原创 assert.h 断言使用方法
断言最主要的功能是发生bug时,查看log,定位发生错误的代码行号,以及异常值。可以和signal结合使用,在线调试。C 库宏 void assert(int expression) 允许诊断信息被写入到标准错误文件中。换句话说,它可用于在 C 程序中添加诊断。声明void assert(int expression);参数expression -- 这可以是一个变量或任何 C 表达式。如果 expression 为 TRUE,assert() 不执行任何动作。如果 exp..
2021-04-14 14:55:01
233
原创 signal.h 用例
signal函数声明void (*signal(int sig, void (*func)(int)))(int)参数sig -- 在信号处理程序中作为变量使用的信号码。下面是一些重要的标准信号常量:宏 信号 SIGABRT (Signal Abort) 程序异常终止。 SIGFPE (Signal Floating-Point Exception) 算术运算出错,如除数为 0 或溢出(不一定是浮点运算)。 SIGILL (Signal Illeg...
2021-04-14 14:44:37
222
原创 setjmp longjmp 使用方法
和goto类似,可以实现跳转。但,goto只能在当前函数内跳转,setjmp/longjmp可以任意跳转setjmp:保存上下文到buf,下次使用longjmp(),可以跳转到此处longjmp:跳转到buf变量保存的上下文处注意事项:longjmp使用前,必须先setjmp,保存上下文,才能通过longjmp跳转到保存上下文的地方。否则Segmentation fault用例:#include <stdio.h>#include <setj...
2021-04-14 14:16:06
222
原创 汉诺塔 原理
以下是汉诺塔核心代码// n : 汉诺塔层数// from : 从哪个柱子// buffer : 中转站// to : 移动到哪里void move (int n, char from, char buffer, char to){ if (n == 1) { cout << "[" << step << "] " << "Move" << " from " << from << ...
2021-04-13 17:11:15
1383
原创 排序算法
冒泡排序void BubbleSorted(int *nums, int numsSize){ int temp; int i, j; for(i = 0; i < numsSize; i++){ for(j = i + 1; j < numsSize; j++){ if(nums[i] > nums[j]){ temp = nums[i]; nums[i
2021-02-16 23:31:12
85
原创 面试题 C语言
1. 题目1.1 inline代码#include <stdio.h>#define MAX(a,b) ((a)>(b)?(a):(b))int main(void){ int a = 1; int b = 0; MAX(a++,b); printf("a = %d\n", a); MAX(a++,b+10); printf("a = %d\n", a); return 0;}大家先想想运行结果是多少?-----...
2021-01-18 17:49:53
232
原创 ARM架构常用汇编指令
STR r0, [r1, #0x10] ;r1+0x10这个是所用的实际地址值,但是不回写入r1,在此句之后,r1=0STR r0, [r1], #0x10 ;r1+0x10这个是所用的实际地址值,这个值回写入r1,此句之后,r1=0x10
2020-10-04 01:03:24
505
原创 链表基础_C语言
#include <stdio.h>#include <stdlib.h>typedef struct Node{ int value; struct Node *pNext;}NodeList;NodeList *createNodeList(){ NodeList *head = (NodeList*)malloc(sizeo...
2018-11-29 23:17:40
166
原创 PHP基础学习_2
显示中文方法:header('Content-Type: text/html; charset=gb2312'); //如果支持 UTF-8 , gb2312换成UTF-8
2018-05-10 14:22:08
140
原创 PHP环境搭建_1
第一步:下载:Eclipse for PHP 官方下载地址:http://www.eclipse.org/downloads/packages/eclipse-php-developers/heliosrXAMPP 支持 Mac OS 和 Windows 系统,下载地址:https://www.apachefriends.org/zh_cn/index.html第二步:安装:eclipse和XAM...
2018-05-10 14:21:48
135
原创 计算数组元素个数的方法
记录下来,以便日后使用。#include <iostream>using namespace std;int main(){ int i[10]; cout << "sizeof(i) = " << sizeof(i) << endl; cout << "sizeof(*i) = " &
2018-04-10 13:58:39
29009
原创 C++生成随机数 编程环境QT5.4
如果编译器不支持C++11,需要在.pro文件中添加 CONFIG += C++11,以下是我当前的.pro文件TEMPLATE = appCONFIG += consoleCONFIG -= app_bundleCONFIG -= qtCONFIG += C++11SOURCES += main.cppinclude(deployment.pri)qtcAddDeploymen...
2018-04-10 10:59:54
250
原创 圆周率pi计算
使用C语言计算圆周率的大小#include <stdio.h>#include <math.h>#define COUNT 100000000 //计算次数int main(void){ double value=0; double a=1; unsigned char i=0; while(a/2<COUNT) { if(i%2=
2017-12-28 18:54:29
884
原创 关于C语言的字节对齐
小生一直认为结构体的大小就是将结构体成员的大小总和。在一次面试的时候,面试官问我:“如何求结构体的大小”,我很自信地说:“将结构体成员全部加起来”。现在回想起来,当时是多么的无知。一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。需要字节对齐的根本原因在于CPU访问数据的效率问题。二、示例 以下是小生在64位Windows
2017-12-20 15:17:11
254
转载 Unicode 和 UTF-8 的简单说明
简单来说: Unicode 是「字符集」 UTF-8 是「编码规则」其中: 字符集:为每一个「字符」分配一个唯一的 ID(学名为码位 / 码点 / Code Point) 编码规则:将「码位」转换为字节序列的规则(编码/解码 可以理解为 加密/解密 的过程)Unicode相当于仓库,里面的货物是字符,UTF-8是货车,装载的是字符。UTF-8编码方式: 1. 单字节的字符,字节的第一位设为
2017-12-13 15:10:33
431
原创 利用联合体判断CPU是大端模式还是小端模式
利用联合体判断CPU是大端模式还是小端模式代码块函数源代码 int CheckCPU(void) { union w { int a; char b; }c; c.a = 1; return (c.b==1); }表格判断结果: CPU模式 返
2017-12-10 16:40:04
1154
原创 shell编程test命令用法
①判断表达式(and, or)test表达式1 -a表达式2(两个表达式都为真)test表达式1 -a表达式2(两个表达式有一个为真) ②判断字符串test -n 字符串 字符串的长度非零test -z 字符串 字符串长度为零test == 字符串 字符串相等test != 字符串 字符串不相等例如:a = “abc”te
2017-05-21 11:23:20
617
原创 Linux目录结构
/bin: 该目录中存放Linux的常用命令。/boot: 该目录下存放的都是系统启动时要用到的程序,当用lilo引导Linux时,会用到这里的一些信息。/dev: 该目录包含了Linux系统中使用的所有外部设备,它实际上是访问这些外部设备的端口,可以访问这些外部设备,与访问一个文件或一个目录没有区别。/etc: 该目录存放了系统管理时要用到的各种配置文件和子目录,如网络配置文件、文件
2017-05-20 19:28:27
283
原创 exec函数族 整理笔记
以ls -l为例#include >extern char **environ;int execl(const char *path, const char *arg, ...);int execlp(const char *file, const char *arg, ...);int execl(const char *path, const char *arg, ..., ch
2017-05-19 16:29:49
255
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人