
C/C++
文章平均质量分 94
lintax
孜孜不倦会为你赢得胜利,
临阵逃脱不是好汉。
鼓起勇气,
放弃毕竟是太容易,
抬头前进才是难题。
为你受打击而哭泣,
撤退也容易;
但是在不见希望时却要战斗再战斗,
这才是人生的最好之戏。
展开
-
遍历列举俄罗斯方块的所有形状
以前玩俄罗斯方块的时候,就想过一个问题,为什么俄罗斯方块就这7种形状,还有没有别的形状?从程序员的角度,这其实是一个遍历穷举的过程。对于3个块的组合,考虑所有可能性,就是在3x3的一个区域里面,任意取点。然后添加一些限制条件:1,块内点位不重复;2,每个点都至少需要有一个相邻点;3,检查点的连通性;4,平移不重复;5,旋转不重复;原创 2024-04-13 22:07:10 · 1107 阅读 · 1 评论 -
俄罗斯方块TC版移植VC
以前在TC上编写了一个小游戏--俄罗斯方块(参见以前的文章:),现在想试玩一下,现在我的电脑是win10系统,发现TC完全运行不起来了。TC.exe运行不起来,报错:不支持的16位应用程序:与64位版本的windows不兼容。可是,我还是想让它能跑起来。上网查了一下,发现并不能简单的移植,还是需要做一些工作的。下面记录一下我将这个小游戏移植到VS2019中的经历。原创 2023-02-05 21:37:38 · 779 阅读 · 2 评论 -
Win10中用VS2019编译live555
说明,本文是在Win10中用VS2019编译live555的过程中,对遇到的问题进行说明。编译过程主要参考的是下面一篇文章,在此表示感谢:《Windows10系统中用VS2019编译live555》https://blog.youkuaiyun.com/m0_37360684/article/details/90109110由于每个人的电脑上已安装软件、下载的软件源码版本、安装步骤选择等会有所差异,所以遇到的问题也有所不同,本文重点要说明的是本人在编译live555过程中的差异部分。原创 2022-02-03 13:39:58 · 3086 阅读 · 0 评论 -
基于STM32F103,用蜂鸣器播放歌曲
基于STM32F103,用蜂鸣器播放歌曲本文的内容,分为下面几部分:1,参考网上例程;2,移植,运行,查看,尽力理解代码;3,调整测试参数;4,添加一首歌曲。 下面详细描述一下过程:一,参考网上例程主要参考的是这一篇《使用STM32F103控制蜂鸣器发声播放音乐》,地址如下:https://blog.youkuaiyun.com/qq_36355662/article/details/80606753看起来代码比较简洁,就两个文件,就开始移植到自己的板子上。二,......原创 2021-01-17 18:12:10 · 55600 阅读 · 22 评论 -
使用cJSON创建JSON字符串
使用cJSON创建JSON字符串:1,下载源码;2,包含cJSON的源码;3,创建一个键值对;4,转换一个结构体;5,创建结构体数组的JSON串;6,说明;7,附带例程。原创 2016-05-31 21:48:41 · 16668 阅读 · 3 评论 -
Android JNI 传递对象
jni初步入门后,在传递数据的时候,遇到一个需求:有多个数据需要在java与c代码之间进行传递。如果都做为函数参数传入,则函数很长很难看,并且多个数据的返回也不好实现。所以想到了把数据打包后传递这在C语言中就是结构体,在java中就是类了。 我们要做的工作就是,先确定要传递的数据,然后相应在C与java中定义相应的数据类型,然后通过jni进行数据对应。下面以一个例程来逐步说明。原创 2016-06-25 17:25:37 · 9036 阅读 · 0 评论 -
Android JNI 中文字符传递
JNI使用时,需要传递中文,遇到乱码问题,多次尝试失败。遂仔细研究了下编码格式转换相关内容。 本文介绍了C语言中的汉字传递到java端的实现方法,以及java中的汉字传递到C端的实现方法。另附demo下载。原创 2016-06-26 22:10:09 · 4317 阅读 · 7 评论 -
通过jni实现图像处理
调用jni实现图像处理,分为7步:1、从assets目录下读图片文件;2、把图片文件解码成 Bitmap;3、通过 getPixels 获取 bitmap 中的图片数据;4、通过 jni 接口把获取的byte[] 数组传到c++边;5、c++边获取对应的byteArray;6、对过该指针操作image的数据,做灰度化处理;7、将c++处理后的数据,回放到bimap中,进行显示。原创 2016-07-02 20:23:16 · 6165 阅读 · 1 评论 -
STM32-使用定时器做延时函数时遇到的坑
STM32-使用定时器做延时函数时遇到的坑做延时函数,可以使用简单的循环等待,如下面这样的:void Delay(uint32_t nCount) { for(; nCount != 0; nCount--);}但是有个问题,就是这个nCount值怎么取?我们可以通过多次试验,来确定调用时使用的循环次数。但是还要考虑下,如果硬件有变化,例如外接晶振变化,或类似的主芯片...原创 2019-02-07 15:34:38 · 15537 阅读 · 8 评论 -
使用cJSON解析JSON字符串
使用cJSON解析JSON字符串一、为何选择cJSON;二、cJSON的核心结构体;三、解析JSON格式;1,下载源码;2,包含cJSON的源码;3,解析一个键值对;4,解析一个结构体; 5,解析结构体数组的JSON串;附带例程;原创 2016-03-27 22:00:27 · 87395 阅读 · 23 评论 -
Json学习--简单创建
Json学习 三、创建Json格式; 还是在Linux下,使用C语言编程,先实现写文件的功能,然后开始josn字符串的创建。1,创建简化版的一句话; 首先是一个简单的键值对字符串,要生成的目标如下:{"firstName":"Brett"}相比于解析,此时是创建,依据键值的定义(firstName)以及初始值(Brett),需原创 2016-02-15 15:53:18 · 2863 阅读 · 0 评论 -
SPI驱动主模式初步实现
SPI驱动主模式初步实现SPI接口技术是一种高速,高效的串行接口技术,因而SPI设备在数据通信中应用十分方便。设备驱动程序作为操作系统内核和硬件之间的接口,是嵌入式开发的重要组成部分,针对TI的davinci芯片DM6467和嵌入式Linux操作系统构建的开发平台,根据DM6467的SPI接口特性,及接口电路的连接特点说明了SPI设备驱动程序的基本开发方法和动态模块加载实现过程。硬件连原创 2011-07-24 16:16:07 · 3135 阅读 · 1 评论 -
SPI驱动从模式初步实现
SPI驱动从模式初步实现SPI接口技术是一种高速,高效的串行接口技术,因而SPI设备在数据通信中应用十分方便。设备驱动程序作为操作系统内核和硬件之间的接口,是嵌入式开发的重要组成部分,针对TI的davinci芯片DM6467和嵌入式Linux操作系统构建的开发平台,根据DM6467的SPI接口特性,及接口电路的连接特点说明了SPI设备驱动程序的基本开发方法和动态模块加载实现过程。硬件连原创 2011-08-06 16:13:43 · 4690 阅读 · 2 评论 -
俄罗斯方块编写思路及源码
俄罗斯方块编写思路及源码 顾名思义,俄罗斯方块自然是俄罗斯人发明的。这位牛人叫做阿列克谢·帕基特诺夫(Alexey Pazhitnov) 。 俄罗斯方块的基本规则: 1、一个用于摆放小型正方形的平面虚拟场地,其标准大小:行宽为10,列高为20,以每个小正方形为单位; 2、一组由4个小型正方形组成的规则图形,共有7种,分别以S、Z、L、J、I、O、T这7个字母的形原创 2009-08-26 19:51:00 · 7735 阅读 · 1 评论 -
2013年上半年软件设计师C++题答案与分析
2013年上半年软件设计师C++题答案与分析 昨天刚考了软件设计师,由于目前我正在学习C++的使用,所以对下午的C++试题比较感兴趣,回来就根据记忆,把自己的答案,写了出来,然后重新推理了一下源程序,测试编译运行,最后对答案进行了分析。 原题意是写一个自动写简历的程序,是按原型模式进行设计的。 根据记忆整理,并进行改动后可以编译运行的程序如下:原创 2013-05-26 15:10:33 · 2212 阅读 · 4 评论 -
调试经验--字节对齐
调试经验--字节对齐 在使用C语言开发时,有时会遇到内存中数据对齐的问题,如果对齐问题没有判断正确,很可能导致结果完全异于预期。 我们在调试程序时,在数据对齐方面遇到一些问题,也做了一些总结: 1,C语言默认对齐方式; 2,C语言强制指定对齐方式; 3,指针数据类型转换; 4,一个字节对齐问题的例子。原创 2015-12-06 21:33:01 · 1216 阅读 · 0 评论 -
调试经验--线程安全
调试经验--线程安全 有一次调试程序,遇到一个bug,怎么也分析不清楚问题,最后通过一步步的打印信息跟踪分析,竟然发现问题出在调用的C语言库函数中! C run-time library里面的一些函数使用了全局变量和静态变量,是多线程不安全函数。原创 2016-01-01 18:58:06 · 583 阅读 · 0 评论 -
配置文件格式的选择
由于我们开发出来的产品,可能会有不同的运行环境,以及不同的用户需求,所以会需要设置不同的运行参数,通常我们需要记住配置选项,以配置文件的形式写入存储设备。此时,对于配置文件的内容格式通常有几种选择:1,二进制文件;2,文本文件;3,数据库;原创 2016-02-12 18:38:41 · 10269 阅读 · 2 评论 -
Json学习--简单解析
Json学习 按照通常学习的思路,将对Json的学习分为4步,如下: 一、了解Json格式;二、解析Json格式;三、创建Json格式;四、使用标准接口; 一、了解Json格式; JSON 是基于纯文本的数据格式,我们可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 O原创 2016-02-14 20:02:24 · 1781 阅读 · 0 评论 -
贪吃蛇编写思路及C语言源码
贪吃蛇编写思路及C语言源码规则:每吃上一个点,就长大一点,不能撞墙或者撞上自己身体。教训:在有限的空间里,可以贪吃,但是要注意安全哦。 这个游戏是我刚工作一年的时候写的,当时对C语言有了些了解,想做点东西,刚好看到同事的手机上有这个游戏(那时我还没有手机呢,呵呵),觉得挺好玩,要实现的话也还比较简单,就在电脑上用TC上做出来了。刚做出来的时候,那种喜悦,确实不是玩别人的原创 2009-05-15 19:47:00 · 15663 阅读 · 4 评论