计算机编程综合
文章平均质量分 91
汉尼拔勇闯天涯
这个作者很懒,什么都没留下…
展开
-
人机交互-广州DACAI触摸屏开发中遇到的一些(屏幕和编程)问题
总结使用DACAI触摸屏做人机交互开发过程中遇到的屏幕问题和c语言编程问题。原创 2022-12-25 10:16:57 · 1797 阅读 · 1 评论 -
c语言 局部变量做返回值 问题
下文来自https://www.cnblogs.com/xuhj001/p/3436175.html 一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,...转载 2018-10-10 15:11:31 · 498 阅读 · 0 评论 -
搭建psoc creator开发环境调试软件
一、psoc creator和keil的关系psoc creator是赛普拉斯Cypress和keil公司共同开发的一款软件,它更多的是使用keilC51的配置。论坛中有说在使用psoc creator时一定要激活keil或者电脑中装有keil,论坛原文如下截图:但是经过我自己的摸索发现,不用激活keil完全可以使用它编辑、调试赛普拉斯的蓝牙芯片。二、问题1:安装p原创 2017-04-06 17:11:20 · 8274 阅读 · 1 评论 -
C和C++ 语言动态内存分配
一、C语言动态内存分配 要实现动态内存的分配,除了利用含指针成员的结构体之外,还需利用C语言提供的几个标准库函数。(使用时应包含头文件“alloc.h”或“malloc.h”或“stdlib.h”) 1.malloc函数 函数原型为void *malloc(unsigned int size);在内存的动态存储区中分配一块长度为"size" 字节的连续区域。函数的返回值为转载 2015-07-10 15:00:41 · 634 阅读 · 0 评论 -
MFC调不出运行程序,调试是提示“unhandle exception****(0xc0000005)”
网上都说这个问题是因为存在野指针或者指针访问非法的内存。但是具体怎么解决的呢?我不知道这个方法有没有用?但是在我的项目中(有用到MFC调用MATLAB),有一个方法可以很好的解决,既能调出程序也能在调试时没有上述错误(师弟花了一个星期的时间才找到这样的解决方案):添加MATLAB路径:project-->C/C++-->Category:Preprocessor-->additional原创 2015-04-12 18:47:12 · 2106 阅读 · 0 评论 -
项目难题之PC和ARM串口莫名其妙无法通信的问题
时钟频率、串口协议什么的都没有问题,线的连接也没问题。之前在keil上编译的程序能跑,现在竟然跑不了了,具体的问题是:ARM能够发数据到PC上,但ARM收不到PC的数据。即使想实现简单的功能都不行:ARM转发来自PC的数据!!通过测试发现:ARM一直卡在查询接收缓存器的过程中。后来实在不行,就放弃了keil了,改用ADS,用着用着发现ADS讨厌,不好,不能编写烧到nor flash零地址、断电不易原创 2015-04-12 11:19:28 · 1464 阅读 · 0 评论 -
项目难题之编程实现数据不对重发的机制
ARM接收PC机通过串口发来的数据,数据打包成帧的形式,有针头针尾,我要实现的功能是:ARM通过检验帧头针尾是否正确,决定是否请求PC机重新发送上一帧的数据。我们知道汇编中有调到特定位置的程序的功能,但是C语言中没有,它太多有一个goto,但是goto会出问题,造成死循环,不建议使用。这里我通过两种方式实现上述功能,这两种方式都是通过实际验证的,绝对可行。1、在main程序的while中添原创 2015-04-11 20:24:04 · 1890 阅读 · 0 评论 -
keil中函数递归调用问题
最近在搞电子设计大赛的事,一直没时间写这个问题,现在吃饱没事干就讨论一下这问题。我当时是在写温度传感器18b20的初始化程序过程中发现的。初始化程序是inti_18b20( ).当检测到温度传感器时,标识位flag接收温度传感器送来的相应数据(flag=0);当没有检测到温度传感器时,flag=1,此时需要重新调用初始化程序inti_18b20( )本身(并且调用BEEP()函数报警),直到检测到转载 2015-04-11 20:05:21 · 2906 阅读 · 0 评论 -
“浅拷贝”与“深拷贝”
C++中对象的复制就如同“克隆”,用一个已有的对象快速地复制出多个完全相同的对象。一般而言,以下三种情况都会使用到对象的复制:(1)建立一个新对象,并用另一个同类的已有对象对新对象进行初始化,例如:[cpp] view plaincopyclass Rect { private: int width; int height; }; R转载 2015-04-04 15:42:52 · 339 阅读 · 0 评论 -
浅析为什么char类型的范围是 —128~+127
在C语言中, signed char 类型的范围为-128~127,每本教科书上也这么写,但是没有哪一本书上(包括老师)也不会给你为什么是-128~127,这个问题貌似看起来也很简单容易, 以至于不用去思考为什么,不是有一个整型范围的公式吗: -2^(n-1)~2^(n-1)-1 n为整型的内存占用位数,所以int类型32位 那么就是 -(2^31)~2^31 -1 即 -214转载 2015-04-04 15:39:45 · 414 阅读 · 0 评论 -
c函数返回指针
我有一个程序是这样的:int main(){ int *p; int i; int*fun(void); p=fun(); for(i=0;i<3;i++) { printf("%d\n",*p); p++; } return 0;};int* fun(void){ static int str[]={1,2,3,4,5}; int*q=st转载 2015-04-04 15:34:41 · 467 阅读 · 0 评论 -
C++编程常见的内存错误及其对策
发生内存错误是件非常麻烦的事情。编译器不能自动发现这些错误,通常是在程序运行时才能捕捉到。而这些错误大多没有明显的症状,时隐时现,增加了改错的难度。有时用户怒气冲冲地把你找来,程序却没有发生任何问题,你一走,错误又发作了。常见的内存错误及其对策如下:u 内存分配未成功,却使用了它。编程新手常犯这种错误,因为他们没有意识到内存分配会不成功。常用解决办法是,在使用内转载 2015-04-04 15:47:46 · 537 阅读 · 0 评论 -
数组指针和指针数组的区别
数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;转载 2014-10-06 15:24:41 · 465 阅读 · 0 评论 -
C/C++基本数据类型所占字节数
转自关于这个基本的问题,很早以前就很清楚了,C标准中并没有具体给出规定那个基本类型应该是多少字节数,而且这个也与机器、OS、编译器有关,比如同样是在32bits的操作系统系,VC++的编译器下int类型为占4个字节;而tuborC下则是2个字节。所以int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):转载 2014-08-30 16:21:27 · 482 阅读 · 0 评论