c/c++
L888666Q
这个作者很懒,什么都没留下…
展开
-
C语言实现经典数据结构代码---二叉树
二叉树是一种常见的树形数据结构,它由一组节点组成,每个节点最多有两个子节点。二叉树的实现可以使用节点结构体和递归来表示。原创 2023-06-27 14:37:49 · 660 阅读 · 0 评论 -
C语言实现经典数据结构代码---栈和队列
栈是一种常见的数据结构,它遵循“先进后出”的原则,即最后进入栈的元素最先被访问。栈的实现可以使用数组或链表来存储数据。队列是一种常见的数据结构,它遵循“先进先出”的原则,即最先进入队列的元素最先被访问。队列的实现可以使用数组或链表来存储数据。原创 2023-06-27 14:21:17 · 467 阅读 · 0 评论 -
C语言实现经典数据结构代码---链表
链表是一种常见的线性数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。链表中的节点可以在内存中不连续地分布,通过指针将它们串联起来。原创 2023-06-27 13:56:42 · 656 阅读 · 0 评论 -
简单的文件加密C语言代码实现
加密算法通过对原文的每个字符进行异或运算来进行加密;解密时同样进行异或处理即可恢复到原文。原创 2023-03-02 11:23:00 · 2023 阅读 · 0 评论 -
valgrind内存检测结果详解
转载记录。转载 2022-09-08 10:23:14 · 449 阅读 · 0 评论 -
makefile之链接lib或so文件生成android环境可执行程序
fPIC与-fpic都是在编译时加入的选项,用于生成位置无关的代码。-fPIC和-fpic最大的区别在于是否对GOT的大小有限制。-fPIC对GOT表大小无限制,所以如果在不确定的情况下,使用-fPIC是更好的选择。-fPIE与-fpie是等价的。这个选项与-fPIC/-fpic大致相同,不同点在于:-fPIC用于生成动态库,-fPIE用与生成可执行文件。但要生成PIE程序,必须两者配合使用,即使用-fpie -pie或-fPIE -pie。有 -fpie, -fPIE, -pie三个参数。原创 2022-09-07 15:56:54 · 1839 阅读 · 2 评论 -
android日志打印ALOGE以及弱符号使用__attribute__((weak))
android日志打印函数介绍ALOGE以及弱符号使用__attribute__((weak))原创 2022-06-01 14:01:08 · 2539 阅读 · 0 评论 -
自定义方法统计堆内存峰值以及检测内存泄漏
自定义malloc和free函数代替系统函数malloc函数:free函数:在代码流程中调用以下两个函数,打印当前内存消耗情况原创 2022-04-01 17:06:18 · 679 阅读 · 0 评论 -
自定义方法统计栈空间消耗
代码运行在同一进程中共享栈空间,此方法可统计同一进程中运行代码的栈消耗首先,申请一个比较大的栈数组然后初始化为特定值,作为栈空间初始化,该初始化函数在程序的一开始调用,如下申请100*1000大小的栈空间初始化为0x96然后,自定义函数统计栈空间被使用了多少,该函数可在程序运行结束之前调用...原创 2022-04-01 16:59:27 · 692 阅读 · 0 评论 -
无法打开源文件<sys/time.h>,但是用time.h编译就会出错,缺少gettimeofday()
因为sys/time.h是uinx系统下的库文件,而现在使用的平台是在windows,由于未指明程序运行的系统,导致找不到对应的头文件。需要重新实现gettimeofday()函数#define WIN32#include <time.h>#ifdef WIN32#include <windows.h>#else#include <sys/time.h>#endif#ifdef WIN32int gettimeofday(struct tim.原创 2021-06-22 17:46:48 · 9734 阅读 · 0 评论 -
c语言获取时间
gettimeofday()函数的使用方法1.简介:在C语言中可以使用函数gettimeofday()函数来得到精确时间。它的精度可以达到微妙,是C标准库的函数。2.函数原型:#include<sys/time.h>int gettimeofday(struct timeval*tv,struct timezone *tz )3.说明:gettimeofday()会把目前的时间用tv 结构体返回,当地时区的信息则放到tz所指的结构中4.结构体:1. ti原创 2021-03-11 16:30:07 · 646 阅读 · 0 评论 -
加载静态库lib, 加载动态库dll
加载静态库lib#pragma comment(lib, "*.lib")加载动态库LPCSTR lpIalgorithmName = "*.dll";LPCTSTR lpDll = (LPCTSTR)lpIalgorithmName;HMODULE hHandleDll;hHandleDll = LoadLibrary((LPCTSTR)lpDll);if (hHandleDll == NULL){ return -1;} typedef int32_t(*s原创 2021-03-05 17:11:38 · 155 阅读 · 0 评论 -
获取文件大小以及读写文件操作
获取文件大小:int getFileLength(const char* fileName){ int length = 0; FILE *file; file = fopen(fileName, "wb"); if (file == NULL) { return -1; } fseek(file, 0L, SEEK_END); length = ftell(file); fclose(file); return length;}已知文件大小读文件:int原创 2021-03-05 15:02:29 · 228 阅读 · 0 评论 -
4个char转int或int转char
4个char转int方法:默认int占4个字节char c1 = 'a';char c2 = 'b';char c3 = 'c';char c4 = 'd';int i = (c4) + (c3 << 8) + (c2 << 16) + (c3 << 24);数组形式:char c[5] = "abcd";int i = 0;memcpy(&i, c, 4);int转char方法:1)用库函数itoaint a = 123原创 2021-02-26 14:28:58 · 3096 阅读 · 3 评论 -
自己实现打log函数类似printf功能
#include "stdio.h"#include "tchar.h"#include "stdarg.h"void loge(const char *fmt, ...)//fmt是固定参数,...是可变参变量{#if 1 FILE *fLog; va_list argp;//定义一个可变参变量指针 argp char log[1024] = { 0 }; va_start(argp, fmt);//移动指针argp到第一个变参变量 vsnprintf(log, sizeof(l.原创 2021-01-25 19:12:11 · 245 阅读 · 0 评论 -
查看动态库和静态库的导出函数
dumpbin -exports *.dll 查看动态库导出函数dumpbin /LINKERMEMBER *.lib 查看静态库导出函数原创 2021-01-22 18:42:16 · 442 阅读 · 0 评论 -
C/C++ 打印源文件名和行号函数名的宏
__FILE__ 宏在预编译时会替换成当前的源文件名__LINE__ 宏在预编译时会替换成当前的行号__FUNCTION__ 宏在预编译时会替换成当前的函数名称__func__ 是C99标准里面预定义标识符,只有GCC才支持这个标识符...原创 2021-01-22 16:19:09 · 355 阅读 · 0 评论 -
多线程加入线程锁保护
#include pthread_mutex_t mut; //初始化锁pthread_mutex_init(&mut,NULL); //加锁pthread_mutex_lock(&mut);//解锁pthread_mutex_unlock(&mut);原创 2018-03-01 14:50:27 · 714 阅读 · 0 评论 -
遍历文件夹下所有文件的方法c和c++实现
【代码】遍历文件夹下所有文件的方法c和c++实现。原创 2016-08-18 17:11:02 · 661 阅读 · 1 评论