首页 文章 精选 留言 我的

精选列表

搜索[c ],共10000篇文章
优秀的个人博客,低调大师

Gear-Lib 1.1.8 发布,适合 IOT 开发的 C 库

新版本 1.1.8 更新日志如下: 新增libposix4rtos库,适配RTOS系统 更新 homekit 协议 Gear Lib 是一组面向IOT及网络协议的C基础库,支持嵌入式,以及网络服务开发等场景,并已支持ubuntu/rasberrypi/esp32开发板,内容包括: 数据结构 libdict: key-value 库 libhash: linux 内核原生哈希库 libringbuffer: 循环缓冲 libqueue: 数据队列 librbtree: linux 内核 rbtree libsort: libvector: 容器库 libmacro: 通用宏定义 网络库 librtsp: RTSP 协议,适合 IPCamera 和 NVR 开发 librtmp: RTMP 协议,适合推流直播 libskt: Socket 封装 librpc: 远程过程调用库 libipc: 进程间通信 libp2p: p2p 穿透传输 libhomekit: 苹果 homekit 协议库 异步 libgevent: 事件驱动 libthread: 线程 libworkq: 工作队列 I/O libbase64: Base64/32 编解码 libconfig: 配置文件库 liblog: 日志库 libfile: 文件操作库 libstrex: libsubmask: 多媒体 libuvc: USB 摄像头库 libmp4parser: MP4 解析库 libjpeg-ex: 其他 libdebug: 调试辅助库 libhal: 硬件抽象层 libplugin: 动态加载库 libtime: 时间库 libposix4win: windows 平台 poxix 适配库 libposix4rtos: FreeRTOS平台 poxix 适配库 码云主页:https://gitee.com/gozfreee/gear-lib github主页:https://github.com/gozfree/gear-lib

优秀的个人博客,低调大师

C语言动态内存管理和动态内存分配

动态内存管理同时还具有一个优点:当程序在具有更多内存的系统上需要处理更多数据时,不需要重写程序。标准库提供以下四个函数用于动态内存管理: (1) malloc()、calloc() 分配新的内存区域。 (2) realloc() 调整已分配的内存区域。 (3) free() 释放已分配的内存区域。 上述所有函数都声明在头文件 stdlib.h 中。对象在内存中所占空间的大小是以字节数量为单位计算的。许多头文件(包括 stdlib.h)专门定义了类型 size_t 用来保存这种内存空间的相关信息。例如,sizeof 运算符以类型 size_t 返回字节数量。 动态内存分配 两个内存分配函数 malloc()和 calloc()的参数不一样: void*malloc(size_t size); 函数 malloc()分配连续的内存区域,其大小不小于 size。当程序通过 malloc()获得内存区域时,内存中的内容尚未决定。 void*calloc(size_t count,size_t size); 函数 calloc()分配一块内存区域,其大小至少是 count_size。换句话说,上述语句分配的空间应足够容纳一个具有 count 个元素的数组,每个元素占用 size 个字节。而且,calloc()会把内存中每个字节都初始化为 0。 两个函数都返回 void 指针,这种指针被称为无类型指针(typeless pointer)。返回指针的值是所分配内存区域中第一个字节的地址,当分配内存失败时,返回空指针。 作者:周梦康 原文链接​ 本文为云栖社区原创内容,未经允许不得转载。

优秀的个人博客,低调大师

Windows10 VS2017 C++编译Linux程序

版权声明:本文可能为博主原创文章,若标明出处可随便转载。 https://blog.csdn.net/Jailman/article/details/85326660 #include <cstdio> #include <iostream> #include "unistd.h" using namespace std; int main() { while (true) { cout << "hello linux!" << endl; sleep(1); } return 0; } 开启Linux虚拟机,运行以上代码,弹出连接框,输入地址,用户名和密码,Linux需要安装g++和GDB。 有一些库和函数include之后vs会报错,但是编译可以正常进行。 vs2017持续打开一定时间后,会提示rsync.exe和devenv.exe需要联网,这时允许之后,再看编辑提示,报错消失……

优秀的个人博客,低调大师

Windows10 VS2017 C++模拟点击按键

版权声明:本文可能为博主原创文章,若标明出处可随便转载。 https://blog.csdn.net/Jailman/article/details/85279137 #include "pch.h" #include <Windows.h> #include <stdio.h> #include <iostream> using namespace std; int main() { Sleep(3000); system("start notepad"); Sleep(3000); // 模拟点击右键 //mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0); //mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0); // 模拟按下'A'键 for (int i = 0; i < 100; i++) { keybd_event('A', 0, 0, 0); keybd_event('A', 0, KEYEVENTF_KEYUP, 0); } // 模拟按下 CTRL + S keybd_event(VK_CONTROL, (BYTE)0, 0, 0); keybd_event('S', (BYTE)0, 0, 0); keybd_event('S', (BYTE)0, KEYEVENTF_KEYUP, 0); keybd_event(VK_CONTROL, (BYTE)0, KEYEVENTF_KEYUP, 0); cout << "Input over, press any key to exit." << endl; getchar(); return 0; } 参考文章:https://blog.csdn.net/dxk539687357/article/details/69668936/

优秀的个人博客,低调大师

基于C#简单实现的微信网页版接口

​​一、想法来源 ​ 作为程序员,对自己工具不满,就要去改造,对于微信已经厌恶极久了。总有人不合时宜的发语音,总有老板无时无刻的艾特,总有微商群发各种消息。重点是不能忍受语音。​当现有客户端不能满足要求,心中无限郁闷,想着做一个客户端,去回怼那些发语音的人。 二、初期准备​ 最开始想从手机微信客户端动手​,奈何抓包看的我头疼,后来想到用Fiddler(比较友好易用)去抓微信网页版,就开始了各种抓包之旅。 三、目录接口​ 因为是第一次​写类似的类库,中间迭代重写了好几次,主要包含CommonTools.dll,HttpHelper.dll跟一个WeChatCore.dll,第一个工具包,提供简单工具类,例如一些扩展方法处理(不包含业务逻辑的),还有一些简单的日志记录之类的。第二个工具包就是简单的http请求,做了一个简单的封装。WeChatCore.dll是核心业务dll主要目录结构如下: 主要目录结构 ​​首先Common文件夹下包含有 Common ​包含此三个工具类, CommonMethodCallBackHandlers.cs提供一些方法回调,比如收到信息,发送信息,登录,扫码等等一系列交互回调。 MethodsHelper​.cs主要是一些产生微信协议随机字段跟字符串的帮助方法。 NotifyPropertyChanged.cs是一个属性变化通知方法,用来当某个字段属性变化时,执行某个动作,在下载头像中有用到。​ ​此目录下三个类中重点关注下CommonMethodCallBackHandlers类,因为它直接决定了数据传输跟交互。 ​ 控件 ​这个是最早的一个头像下载控件,继承自Image​,后来就没有用它 ​ 基础定义 ​​Data文件夹本来是要放置一个登陆后的id的,但是后来工作忙了就没有实现。DefineClass是一系列的定义方法。CommonDefine.cs包含有一些基本的数据定义比如cookie缓存之类的,之所以放到这,我不想http部分承担太多业务层,ConfigDefine.cs配置日志,自动回复等本地存储的根路径。DirectoryDefine​.cs主要是创建一些基础的目录,比如声音,图像,视频之类的。LogPathDefine.cs主要是一些日志存储路径。UrlDefine.cs包含了所有的请求Url的定义。 ​ 实体类 ​百分之九十九为微信交互协议生成的实体类,注意一个类MsgEntity.cs 为自定义外部交互信息类,所有你想要的信息操作都在这里。​ ​ 枚举类 ​主要是一些基本数据的枚举,待补充。 ​ 引用和默认头像 ​主要是引用的一些外部dll跟党头像没有下载下来时候的默认图像。 ​ ​ 主体业务类 ​ 内部结构 ​其中包含一系列的静态方法,直接调用即可。 初始化方法如下 调用方式 ​ ​​先注册一系列的回调函数,然后调用WeChat.InitInitWeChatRobot();此方法最好放到异步线程中调用,主线程会卡死界面。 第一次瞎写,你们还是看代码吧、、、​ 地址 https://gitee.com/tangmanger/WeChatCore git https://gitee.com/tangmanger/WeChatCore.git​ https://gitee.com/tangmanger/EasyWeChatClient.git (简单例子)​​​​​ 最近有点忙已经很久没来的及更新这个了

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册