C语言

C语言

C语言_跨平台宏定义

C语言跨平台宏定义#ifdef 表示宏是否有定义,如果宏有定义则执行,否则不执行。后面常跟#else和#endif#if 后跟常量整数表达式,如果表达式为非零值,则表达式为真,如果没有define(宏没有定义),也不不执行。后面常跟#elif #else #endif#ifdef _WIN32

2021-11-15
306 0

C语言_Hex字符串和二进制数组转换

Hex字符串和二进制数组转换void convertUnCharToStr(char* str, unsigned char* UnChar, int ucLen){int i = 0;for(i = 0; i < ucLen; i++){//格式化输str,每unsigned char 转换

2021-11-08
270 0

多线程的同步与互斥

主要涉及以下概念:同步与互斥互斥锁条件变量读写锁自旋锁信号量

2019-08-01
1,584 0

自旋锁和互斥锁

自旋锁和互斥锁自旋锁和互斥锁一样,都是为了解决对某种资源的互斥访问。自旋锁和互斥锁的区别:自旋锁:如果资源已经被占用,调用线程不会进入休眠(一直处于激活状态),而是在循环等待,直到获取到被占用资源。互斥锁:如果资源已经被占用,调用线程进入休眠状态,获取到锁的时候需要从内核态恢复,需要线程上下文切换。

2019-07-26
1,576 0

C++中const修饰函数

const char* get_version();---->修饰函数返回值char* get_version() const;---->常量函数,不允许修改类的成员函数

2019-07-18
1,571 0

char *a[10]和char (*a)[10]的区别

char *a[10]---->表示每个元素都是指针,有10个元素。char (*a)[10]--->表示一个指针,该指针指向一个长度为10的字符数组。

2019-07-16
1,638 0

C语言文件路径的一点心得

C语言程序在涉及路径的代码中,主要会涉及到windows和linux这两大平台的差异。在windows平台下,其路径的主要形式为:H:\MyDrivers\backup在linux平台下,其路径主要形式为:/home/MyDrivers/backup在windows平台中,其也接收linux风格的路

2019-06-26
1,629 1

sizeof

sizeof计算一个对象或者类型所占内存数int data_one[] = {1,2,3,4,5};int* data_two = NULL;int getSize(int data[]){return sizeof(data);}sizeof(data_one)--->20 sizeof(

2019-06-19
1,629 0

编译过程

高级语言的编译过程,一般分为以下四个部分:1)预处理2)编译3)汇编4)链接

2019-06-14
1,807 0

函数指针和指针函数

函数指针:函数指针的申明需要括号例如:double (*funcPtr)(double, double);如果没有括号,则为函数原型,而不是指针定义。调用:double result;(1)result = (*funcPtr)(2.10,2,30);(2)result = funcPtr(2.10