`
tcspecial
  • 浏览: 896188 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
    Tomcat 6.0 下下载中文名称的文件,会报404错误             根据错误发现中文名称被转化了,因此必然找不到%E5%AE....xls这样的文件      解决方案: 在server.xml 加入URIEncoding="UTF-8"就行了   <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectP ...
   在C++下导出excel还是件比较棘手的,虽说目前有很多方式导出,但是都不太方便. 没有像java下强大的poi直接导出二进制格式的excel文件.        1. QT下通过com组件调用excel pro文件添加: LIBS += -lqaxserver -lqaxcontainer         获取com api文档: QAxObject* excel = new QAxObject("excel.Application"); // wps 下 ET.Application QFile outfile("d:/excel_doc. ...
   安装postgresql9.2后,QT连接数据库: QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL","test"); db.setDatabaseName("sqlscada"); //db.setHostName("127.0.0.1"); db.setHostName("192.168.1.112"); db.setPort(5432); db.setUserName("postgres"); d ...
    C#在调用c/c++动态库时,有时传入一个超大结构体数组时,运行时会报错: "内部限制:结构太复杂或太大"   // 结构体定义 [StructLayout(LayoutKind.Sequential,Pack=1)] public struct hdata_element_t { public byte Valid; public float Value; } [StructLayout(LayoutKind.Sequential,Pack=1)] public struct group_reply_t { public int t ...
    有时在用VC6调试过程中,老遇到这个讨厌的提示"One or more breakpoints cannot be set and have been disabled",然后就跑到第一行去执行了.      看网上大多都是在设置中删除所有断点, 然后再重新设置新断点. 照做了一下,还是不能解决问题, 直到重新编译了程序(依赖库dll)才解决了问题. 这是因为本工程调用的dll太过了陈旧,dll对应的工程发生改变了. 导致库与代码不匹配,必然不能设置断点了     
     在开发中常会用到比较复杂的容器时,QMap QList会嵌套使用. 在VC6中定义 QMap<QString,QList<CHisDataItem>> map,编译时老报map未定义的错误.       这是因为VC把>>当作一操作符了,以为map是一变量,所以编译出错. 我们重新命名一下就能解决这个问题.       // 方法一,起别名 typedef QList<CHisDataItem> HisDataList; QMap<QString,HisDataList> map; // 方法二, 在QLis ...
    C/C++内回调函数一般通过传递函数指针来实现,函数指针在C#中对应的就是委托.   // 传入函数指针 typedef void (*FUNC)(int,char*); JNAAPI bool processCallback(int a,FUNC func);   public delegate void CallbackDelegate(int a,string param); //声明委托 // 接口定义 [DllImport("jnalib.dll", EntryPoint = "processCallback")] ...
   因为公司一直都是做C++开发的,因客户需要要提供C#版本接口,研究了一下C#,发现其强大简洁, 在跨语言调用方面封装的很彻底,提供了强大的API与之交互.这点比JNA方便多了. Java与C#都只能调用C格式导出动态库,因为C数据类型比较单一,容易映射. 两者都是在本地端提供一套与之映射的C#/java描述接口,通过底层处理这种映射关系达到调用的目的.     一. 结构体的传递   #define JNAAPI extern "C" __declspec(dllexport) // C方式导出函数 typedef struct { ...
   函数指针能够很方处理重复性工作,简化代码逻辑. 在C语言函数指针一般用于回调,传递函数名, 当数据回来时,执行函数指针所指向函数.    下面看函数指针在计算器程序的经典运用:    int add(int a,int b) { return a+b; } ...
$ mysql -h 192.168.1.8 -u root -p Enter password: ERROR 1130: Host '192.168.1.110' is not allowed to connect to this MySQL server   $ telnet 192.168.1.110 3306 host 192.168.1.4 is not allowed to connect to this mysql server       mysql 默认安装是不允许远程登陆,只能通过localhost登录,因此你需要为你访问主机授权.  一. 主机授权   ...
     最近找到两个能将java API文档打包成chm的小工具,用起来不错,分享一下; 终于结束用浏览器打开API文档,用肉眼不停的搜索类库的历史了.        1. java2chm       安装之前必须先安装 htmlhelp.exe,然后直接在API文档目录下运行java2chm命令,成功后,即在当前目录下生成*.chm,方便快捷.       刚开始使用时,就报如下错误:                 经过多次测试,发现进入目录错误. 在%JAVA_DOC%下是有一个index.html,在%JAVA_DOC%\api下面也有一个index.html, 进入a ...
   JNA返回结构体:   在C++中返回一个大结构体比较耗资源的,不可取.一般可以通过传入指针或变量引用值, 在方法中修改达到返回结果的目的。   java对象默认的是传地址引用,那么我们就可以在C中修改java对象后返回,减少对象传递时的性能损耗。   // 结构体定义 typedef struct _Point { int x; int y; }Point; /** *方式一: 在C中传入结构体指针 */ JNAAPI bool translate( Point *pt,int dx,int dy ) { pt->x=pt->x+dx ...
JNA以结构体数组为参数进行调用:   ////// C++ // student 结构体定义 typedef struct { int age; char name[20]; }Student; // 修改java对象的属性值 JNAAPI bool changeObjs(Student stu[],int size) { for(int i=0;i<size;i++) { stu[i].age*=10; strcpy(stu[i].name,"wokettas"); } return true; } ...
     程序调试执行时报如下错误:          崩溃代码: // 结构体定义 typedef struct { // 数据条目个数 int iCount; // 数据条目数组,按1s频率采样, 86400个数据 CHisDataItem data[60*60*24]; } CHisDataOfOneDay; // 崩溃语句 if(pFuncName=="getDayHisData") { QString strTag=pPara[0].toString(); QDate date=pPara[1].toDa ...
总结一下经常用到的命令:  1. 解压*.tar.xz文件 $xz -d file.tar.xz $tar -xvf file.tar  *.tar.xz文件相当于被压缩了两次,第一次打包成*.tar文件后再对*.tar进行xz压缩   2. yum源下载缺失库 linux下编译安装软件最麻烦的就是缺失各种各样的库;  错误: cannot found lSM, 缺失libSM.so这样的库 $yum search libSM (yum源查找该库包括在那个软件包中) $yum install libSM-devel    错误: libssl.so not found ...
Global site tag (gtag.js) - Google Analytics