自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 问答 (1)
  • 收藏
  • 关注

原创 关于Delphi字符串内存泄露的问题

最近在写游戏中的排行榜系统,在测试的时候发现一个问题,在所有对象都完全释放的前提下,仍然存在少量的内存泄露问题。在多次定位之后,发现问题出现在一个很奇怪的地方。 Class.StrValue = Sql.FieldByName('').asString; 如果执行了这句话,最后就会存在泄露 Class.IntValue = Sql.FieldByName('').asI

2016-04-07 12:35:27 2418

原创 C++中,结构体与类的 sizeof 大小

最近看到一些关于 c++ 中结构体 sizeof 的题目,了解了一下具体的情况,现在整理一下。struct B{public: char c; int i; char v;};首先,对于一个结构体或是类,它的每一个元素有三个重要的属性: 1.偏移量,2.自身大小,3.补充大小。一:偏移量    偏移量可以看作是,该元素之前的所有元素的(自身大小+补充大小)的总和。也就是该元素

2015-07-17 10:14:07 505

原创 c++ 的参数解析方法: getopt

C++ 中自带了一个参数解析方法: getopt(int argc, char *const *argv, const char *shortopts),用于处理向main函数传入的数据表头文件 #include函数的几个参数分别代表着:int argc:参数的个数,等同于 main(int argc, char* argv[ ] )中的第一个参数char *const *

2015-06-13 15:45:57 734

原创 C++ 中调用执行Python文件

在编写项目的过程中,需要在c++下调用一个python模块,现在将方法整理一下,留存备用。首先需要导入对应的头文件 : #include 接下来是代码实现部分:        //初始化python运行环境 Py_Initialize(); //将python的执行目录切换到当前目录下 PyRun_SimpleString("i

2015-06-13 15:03:15 1788

原创 C++ 根据当前路径与相对路径,获取绝对路径

在网页中,一些资源的链接往往会使用多种方式:根目录,当前目录,绝对路径等。如何在C++ 中,通过当前的网址(路径),以及资源对应的相对路径得到最终的绝对路径呢?尝试着写了一段简单的代码,处理一些比较简单的情况。后续会慢慢补全这个方法。如果有好的建议,欢迎大家留言指出,共同进步。//去除地址前后的空格std::string Trim(std::string s){ if (s

2015-06-13 14:52:52 3345

原创 C++ 读取文件内容至当前文件长度的字符串中

在C中,读取文件内容t通常时使用字符数组char[ ]保存。例如: FILE *html; char tmpChar; char htmlText[2000000]; char *p; memset(htmlText,0,2000000); p=htmlText; html = fopen(path.c_str(),"r"); if(html){ while

2015-06-13 14:42:32 3797

原创 C++ 学习笔记(四) GCC常用参数

使用GCC/G++ 时,我们经常用到的命令有:-c :编译,将代码源文件编译成.o的中间文件-o:o就是out输出的意思,该命令用于指定输出文件的名称-I:大写的i,表示添加头文件查找目录-l:小写的L,用于指定需要链接的库名。其后紧跟库名,不加空格。例如: -lv8,表示使用链接库: libv8.so. 库名一般是去掉库文件的lib和最后的.so后缀剩下的内容。-L:大写的L

2015-05-31 16:29:10 265

原创 C++ 学习笔记(三) 编写makefile(二)

前面写了最简单的makefile文件,现在继续学习一下进阶的版本吧。1.使用变量代替重复劳动,实现多处同步修改Makefile中的变量其实就是C/C++中的宏定义可以个变量的格式为:   变量名 = 变量值   //这里的变量值,一般来说都是字符串例如:objects = main.o parseMethod.o \parserBase.o V8Script.o定义了

2015-05-31 13:59:22 344

原创 C++ 学习笔记(三) 编写makefile

首先说明一下文件:头文件:parseBase.h  对应的cpp文件: parserBase.cxx头文件:parseMethod.h  对应的cpp文件:parseMethod.cxx头文件:V8Script.h 对应的cpp文件: V8Script.cpp程序入口: main.cc然后是头文件引用关系main.cc  引用了   parseBase.h pars

2015-05-30 19:39:51 433

原创 C++ 学习笔记(二) 如何向Main函数传递参数

int main(int argc,char* argv[]){ int i=0; while(i <= argc){ cout<< argv[i]<<endl; ++i; } return 0;}argc: 表示传入 参数的数量 + 1argv[]:传入的参数 这其中,argv[0] 中存放的数据为 程序的名称,例如:/home/workspace/html/Debu

2015-05-30 17:23:38 578

原创 C++ 小知识点之引用:“&”

引用,只是实现了两个对象的绑定,并不会重新创建变量或获取内存控件。引用的简单定义形式:int true_value;int &ref_value = true;引用的注意点:1.引用在声明时,就必须指定其绑定对象2.引用在声明之后,不能够重新绑定引用对象  例如:  ref_value = value_two 将是错误的3.引用不可以绑定到字面值常量  例如:

2015-05-30 16:09:48 269

原创 C++ 学习笔记(一):类的声明与编写

一、简单的类定义C++ 中声明一个类的主要格式为:class class_Name{//在第一个访问说明符之前,也可以定义一些变量 string class_member double class_memeber//此处声明公有变量与函数public: //变量声明 string class_member_1; int class_member_2;

2015-05-30 13:21:15 722

原创 重写JavaScript的eval和document.write方法

目前进行的一个项目,需要对网页中的JavaScript进行分析,从而甄别出敏感的内容。但是由于很多网页内部进行了加密和混淆,对于这样子的网页脚本呢,处理起来非常的困难。之前有尝试使用JavaScript引擎进行模拟运行,从而得出解密后的内容。再后来我想到一个好的办法。因为无论时加密还是混淆了的代码,其仍旧需要时一个浏览器能够看懂的脚本才可以。那么我只需要在关键的函数处实现注入,

2015-05-20 18:44:46 2110

原创 linux下eclipse编译C++ 11版本

最近在linux系统下面,使用eclipse编写了一些简单的C++程序,但是遇到了一个编译的问题。在这里整理一下,或许可以帮到和我有着相同困扰的人。编译的时候,由于C++不同版本的方法不同,导致一个正确的语句无法编译过去,提示错误为:解决办法分两步:第一步:Project->Properties->C++ General->Pahts and Symbols

2015-05-20 18:14:28 2813

原创 JavaScript引擎速度比较: rhino 与 V8

java 下的rhino 和 C++ 下的 V8 都是非常出色的开源的JavaScript引擎。最近本人因为工作需要对这两个引擎进行了一些研究,发现两个的一些不同。1.使用难以程度    java 下的rhino 使用非常便捷,变量与方法的传递都非常的简洁明了,并且对类对象的支持非常符合人性化的需求;    相比之下,C++ 下的 V8就要逊色的多了,使用起来还是比较麻烦的,当然这

2015-05-13 19:54:43 5174 1

原创 Java 中使用rhno引擎,运行JavaScript脚本,实现变量的交互、引入、传递

尝试了一下在Java 中使用rhino引擎,运行JavaScript脚本,现在将使用方法整理如下:1.下载rhino引擎的文件,最后我获取到的是一个 js.jar 文件2.将这个文件添加到 工程的 Libraries 中去,如图:   3.运行脚本并测试//package test;//导入的这两个包的路径和网上的有些不同,网上的时sun开头的/

2015-05-13 19:38:49 581

原创 一份简单的C++ 使用V8引擎运行Javascript 的例子

由于工作的原因,需要在C++ 使用V8引擎运行Javascript 脚本,同时需要实现将 C++中的变量值给入到Javascript中,而在Javascript中改变了值之后,需要同步修改C++中对应的变量;同时也需要时Javascript中调用C++的函数。   在使用的过程中,查询了很多网上的资料,但是犹如大多数的内容都是雷同的,并且有一些陈旧,在最新的V8代码下并不能够编译运行,因此给出

2015-05-13 19:19:35 3521

原创 Linux系统中 eclipse下编译C++(使用v8引擎运行JavaScript脚本)

上面一篇文章主要使用了 GCC 编译器来编译的C++文件,后来我尝试了一下在eclipse下编译它,在这里做一个总结与记录。------------------------------------------------------------------1.eclipse下C++开发环境的插件 CDT   这个插件的安装就不在这里赘述了,有需要的可以自行百度;2.新建了C

2015-05-13 19:02:29 2529

原创 Linux 下使用在C++中V8引擎的环境配置

最近需要在C++环境下运行JavaScript脚本,找了一下资料,最后决定使用谷歌开源的V8引擎来完成这一任务。在使用的最开始,遇到了一些配置上的问题,这里做一下记录和总结吧。----------------------------------------------------------------------------------------------------------

2015-05-13 18:11:06 2001 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除