编程琐事
_寒潭雁影
这个作者很懒,什么都没留下…
展开
-
控制台默认字符编码问题
之前在制作的程序中需要运行Windows的控制台程序去调用LaTeX的XeLaTeX.exe编译器程序编译tex本文,结果发现编译一直出错,通过错误信息得知是中文字符串的问题。然而奇怪的是相同的文本在TeXworks环境下调用XeLaTeX编译器却完全没有问题,经过艰苦卓绝的研究后发现,原来是Windows的控制台默认字符编码不是UTF-8造成的问题。解决的办法也很简单,就是将默认的字符编码修改...原创 2020-02-03 17:16:06 · 549 阅读 · 0 评论 -
Win10与Win7 64位系统的CPU多线程调度差异
最近在做兼容性测试的时候发现一个特别有趣的问题,在Win10上可以完美运行的C++程序在Win7上一运行就挂掉了,代码一模一样!在经过了两天没日没夜的调试后发现,Win10系统与Win7系统的CPU多线程调度存在较大的差异。在Win10中,如果在一个类中运行了一个函数对一个指针开辟对应的内存,而在类中开启线程对其进行调用,是完全没有问题的,即便是开辟内存的函数退出了也无所谓。而在Win7中则不然...原创 2020-01-17 18:13:47 · 4293 阅读 · 1 评论 -
多线程操作数据拷贝要加线程锁
debug三天之后,在今天终于发现了自己开的两个线程(一个接收数据,一个处理数据)所处理的数据并不相等。用compare比较后发现数据有所偏差,处理线程的数据存成文件之后隔一段都要比接收线程少一点。少的频率跟线程之间的切换次数又有关系,这就让人直接怀疑是不是内存拷贝发生了错误,结果查了所有的语句都没发现问题,最后突然想到多线程在数据拷贝的过程中一旦遇到线程切换会导致不确定的因素发生,于是在线程拷贝原创 2014-06-05 00:15:03 · 2230 阅读 · 0 评论 -
C++ 多线程编程解决CPU占用率高问题
在用C++进行多线程编程的时候,时常需要写一些类似于死循环的结构来执行代码,这些死循环如果没有经过处理一直开着,那么CPU的占用率就会居高不下的做着很多无用的操做。为解决这个问题我们可以通过在各线程中的适当位置添加Sleep函数来休眠该线程,使其少做这些无用的操作。经过这个处理,正常能压缩掉一半以上的CPU占用。原创 2014-06-30 23:11:40 · 11430 阅读 · 3 评论 -
编程琐事
今天在用fwrite写数据到文件时一直报错,因为之前使用一直是相同的写法没事刚刚好就今天不行搞得非常纠结,甚至于怀疑电脑坑了。最后静下心来看错误提示,才发现其中玄机,提示说stack overflow栈溢出,回头去看了看自己的代码,发现在函数里面开了一个很大的数组,毫不犹豫的注释掉之后成功过去了。。编程还是需要耐下性子看其中错误提示的。。原创 2014-05-29 00:39:11 · 896 阅读 · 0 评论 -
VM虚拟机虚拟网卡对于UDP发送广播包的影响
近期做一个项目需要用到UDP发送广播包给嵌入式端的程序并要求其作出相应的反馈,一开始非常顺利。但到了测试通用性的阶段发现有的电脑无法发送出UDP广播包,进而也就是无法跟嵌入式端交互(发现并将问题锁定在此就已经花费了非常非常非常多的心血!其中可以ping通嵌入式端这点让人纠结了很久)。在问题锁定了之后第一个怀疑的是防火墙,然后是杀毒软件等等,将电脑裸奔满怀希望开启软件之后依然是那副尿性。最后百无聊赖原创 2014-08-13 21:33:57 · 6881 阅读 · 10 评论 -
VS下面运行release版本可以正常运行而直接执行exe文件会出现问题
文如其名,最近做的两个不同的任务都遇到了这样一个问题,就是在VS下面运行release版本的程序可以正常运行而直接执行exe文件会出现问题,而且是偶有发生,在不同电脑发生的频率还不一样。一开始百思不得其解,以为是代码问题,后来百无聊奈怀疑VS运行release版本的程序时可能使用了兼容模式。于是右键exe文件打开文件属性,转到兼容性页面将“以兼容模式运行这个程序”选项勾上,确定之后再运行没有出现错原创 2014-10-10 15:04:40 · 11419 阅读 · 10 评论 -
Excel 成绩计算
时值期末,正是考试录入成绩之际,之前的一堆学生作业实验等等分数放在excel表格里面没去处理,本想等到期末写个程序去计算。 真正到了期末要弄又觉得很麻烦,一想到office本身不就自带VBA吗,写点代码去算就完事了。弄了之后发现要开宏什么的有点麻烦。最后经人提醒说“Excel本身不就是在干这件事的吗?”突然无语的无可附加,是啊!我真是会的越多脑子越钝啊! 写几句话进去就完事啦! 实现如下:原创 2016-12-28 17:29:37 · 1844 阅读 · 0 评论