![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
Lonwayne
I am a college student in HIT.
展开
-
C/C++内存申请函数总结
#include <stdlib.h>void* malloc(unsigned size);void* realloc(void* ptr, unsigned newsize);void* calloc(size_t numElements, size_t sizeOfElement);上面的内存申请函数以系统的位数对齐(linux系统32位位8字节,64位为16字节),下面的函数可以提供更大的内存页面对齐:#include <stdlib.h>int p.原创 2020-11-08 11:07:50 · 600 阅读 · 0 评论 -
KMP算法研究
本人愚笨,CSDN上看了很多解法都不了解,而且很多解法都有些问题。自己看了书研究了一个晚上才大概明白了这一原理。特此附上自己写的解法和见解。原创 2016-11-17 11:20:35 · 372 阅读 · 0 评论 -
pid_t的类型定义
创建进程时经常会用到进程号的类型定义:pid_t。我们都知道这个类型定义实际上就是int型。但是在linux下的c中的头文件中这个定义到底是怎么定义的呢?今天就把以前找这个定义的过程贴出来:1.首先在/usr/include/sys/types.h中有如下定义#include ...... #ifndef __pid_t_definedtypedef转载 2016-12-03 21:51:17 · 2845 阅读 · 1 评论 -
C含参数的宏与函数的区别
C含参数的宏与函数的区别? 宏替换不占运行时间,只占编译时间;而函数调用则占运行时间(分配单元、保留现场、值传递、返回),所以每次执行都要载入所以执行起来比较慢一些。。? 定义宏的时候不要在宏及其参数之间键入空格,因为宏替换的时候会把你不经意打的空格当作宏的一部分进去。? 在宏定义中把每个参数都用括号括起来,同时把整个结果也用转载 2016-11-22 15:05:33 · 309 阅读 · 0 评论 -
memcpy原码引发的内存拷贝注意事项
一直以来知道memcpy函数有问题,没有处理内存重叠的情况;而memmove函数对这种情况进行了处理。今天碰巧有同事问到,特地翻了一下源码,了解一下实现方法转载 2016-11-26 16:36:07 · 1362 阅读 · 0 评论 -
Android底层知识点(AD+JNI+NDK+HAL)
AIDL(Android Interface definition language)概念:一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口。为了使其他的应用程序也可以访问本应用程序提供的服务,Android系统采用了远程过程调用(Remote Procedure Call,RPC)方式来实现。与很多其他的基于RPC的解决方案一样,Android使用一种原创 2016-12-31 16:09:45 · 1260 阅读 · 0 评论 -
strcpy,memcpy函数的实现
已知strcpy函数的原型是:char *strcpy(char *dst, const char *src);实现strcpy函数解释为什么要返回char *假如考虑dst和src内存重叠的情况,strcpy该怎么实现 1.strcpy的实现代码char * strcpy(char *dst,const char *src) //[1]{转载 2017-02-19 16:56:04 · 206 阅读 · 0 评论 -
C/C++中near和far关键字的区别
C/C++中near和far的区别 关键字near和far受目标计算机体系结构的影响。目前编程中使用不多。 near关键字创建一个指向可寻址内存低端部分的目标指针。这些指针占用内存的单一字节,并且他们能够指向的内存单元被限制到256个位置,通常是在0x0000~0x00ff范围中。 int near * ptr; far关键字原创 2017-03-09 17:15:43 · 2266 阅读 · 0 评论