调试了个以前自己写的c++代码
2018-01-26 19:01
363 查看
这两天武汉下雪, 大概也是物以稀为贵, 每次看到雪心情都特别好, 加上这几天感冒非常注意作息时间, 个人调养的比较好, 所以最近写代码也特别有耐心。
这周的主要任务是将公司内部平台的c++代码通过jni技术集成为可被java调用的资源, 主要是可以供帆软报表所调用。 重点在于c++写的一个平台资源池, 能够兼容高并发的访问和运算。 这个大概是自己被调到创新技术研究院之后的最主要的成绩之一。 这个代码是一两年前写的, 所以现在来读这段自己写的代码真是的呵呵了。
今天周五, 本来准备提交工作的, 临时做了一个高并发量的测试样例, Tomcat服务器轻易就崩了。 然后折腾了很久发现曾经写的一个资源控制模块存在缺陷。 大概是c++对资源的利用特别小心, 弄了一个固定长度的数组存放三种状态的数据, 这三种状态的数据总和刚好是数组的固定长度, 弄了两个位置指针记录三种状态数据在数组中的边界。
分配资源/使用资源/释放资源都会导致状态的关联性改变。 然后位置指针的边界没有控制好, 都到了-1了也没有报错(实际上已经内存溢出了) 。 控制了位置指针的边界之后缺陷修复。 但是心里很不爽, 为这种抠门的使用资源的方式而恼火 , 现在都什么年代/ 什么硬件配置了, 一个简单的问题为了省那么一点点的空间而设计的这么复杂, 实在是不应该。 决定下周一去公司后将这一块给改了。
然后准备引入python工具做测试样例, 前期的网络爬虫技术在这里刚好可以用的到。 效果应该会很酷 。 因为我积累了python的知识和技术, 有了这么个锤子, 所以就想用这个锤子解决问题。 如果你只有一把锤子, 你眼里能看到的都是钉子。 其实每个人都有这样的认知局限性, 所以扩大自己的锤子是一个非常明智的选择。
会让人处理问题变得游刃有余。
---
最近朋友圈又流行一个叫旅行的青蛙的游戏, 我没玩, 朋友玩了之后想刷教程 结果就卸载了游戏,然后就弃游戏了。 我说, 那岂不是在虚拟世界中你养的那只青蛙死了。 朋友说它还活在她的心中。 如果朋友的心中也是个虚拟世界, 那只青蛙在一个虚拟世界中死亡又在另一个虚拟世界中重生 , 那相当于轮回了。
现在就是一个快节奏的世界, 各种游戏, 新闻头条层出不穷, 舆论太多信息噪音特别大。 每个人都在忙一些无关紧要的事情, 关注一些无关紧要的信息, 真是一群寂寞的灵魂。
另外, 我也有一条寂寞的灵魂。 真是俗。
这周的主要任务是将公司内部平台的c++代码通过jni技术集成为可被java调用的资源, 主要是可以供帆软报表所调用。 重点在于c++写的一个平台资源池, 能够兼容高并发的访问和运算。 这个大概是自己被调到创新技术研究院之后的最主要的成绩之一。 这个代码是一两年前写的, 所以现在来读这段自己写的代码真是的呵呵了。
今天周五, 本来准备提交工作的, 临时做了一个高并发量的测试样例, Tomcat服务器轻易就崩了。 然后折腾了很久发现曾经写的一个资源控制模块存在缺陷。 大概是c++对资源的利用特别小心, 弄了一个固定长度的数组存放三种状态的数据, 这三种状态的数据总和刚好是数组的固定长度, 弄了两个位置指针记录三种状态数据在数组中的边界。
分配资源/使用资源/释放资源都会导致状态的关联性改变。 然后位置指针的边界没有控制好, 都到了-1了也没有报错(实际上已经内存溢出了) 。 控制了位置指针的边界之后缺陷修复。 但是心里很不爽, 为这种抠门的使用资源的方式而恼火 , 现在都什么年代/ 什么硬件配置了, 一个简单的问题为了省那么一点点的空间而设计的这么复杂, 实在是不应该。 决定下周一去公司后将这一块给改了。
然后准备引入python工具做测试样例, 前期的网络爬虫技术在这里刚好可以用的到。 效果应该会很酷 。 因为我积累了python的知识和技术, 有了这么个锤子, 所以就想用这个锤子解决问题。 如果你只有一把锤子, 你眼里能看到的都是钉子。 其实每个人都有这样的认知局限性, 所以扩大自己的锤子是一个非常明智的选择。
会让人处理问题变得游刃有余。
---
最近朋友圈又流行一个叫旅行的青蛙的游戏, 我没玩, 朋友玩了之后想刷教程 结果就卸载了游戏,然后就弃游戏了。 我说, 那岂不是在虚拟世界中你养的那只青蛙死了。 朋友说它还活在她的心中。 如果朋友的心中也是个虚拟世界, 那只青蛙在一个虚拟世界中死亡又在另一个虚拟世界中重生 , 那相当于轮回了。
现在就是一个快节奏的世界, 各种游戏, 新闻头条层出不穷, 舆论太多信息噪音特别大。 每个人都在忙一些无关紧要的事情, 关注一些无关紧要的信息, 真是一群寂寞的灵魂。
另外, 我也有一条寂寞的灵魂。 真是俗。
相关文章推荐
- 在baidu上搜到自己以前翻译的文章:C++代码检查方法
- eclipse调试android NDK C/C++代码配置指南
- Windows Eclipse编译调试Linux下的C++代码
- c++调试UnitTest(问题代码在so库里)的方法
- windows下sublime编译调试c++的配置代码
- 【积累】C/C++中明明该用函数实现的功能,为啥非要自己写代码!
- 使用eclipse调试cocos2d-x C++ 代码(编写+真机调试)
- JNI学习之二:利用LOG调试本地C\C++代码
- C/C++代码调试的几点建议
- android gdb 调试c++代码
- android使用ndk-stack调试JNI部分的C/C++代码
- 使用eclipse调试cocos2d-x C++ 代码(编写+真机调试,放弃VS)
- C++代码和调试
- eclipse编译调试java与ndk c++的混合代码
- JNI的调试_从java代码连调到C/C++
- 使用eclipse调试cocos2d-x C++ 代码(编写+真机调试,放弃VS XCode)
- 手把手教你调试Linux C++ 代码
- C/C++代码调试的几点建议
- C/C++在调试程序时运行代码行数与实际不一致
- [转][android][利用JNI技术在Android中调用、调试C++代码]