移植cjson到windows下编译

时间:2022-04-30 03:50:38

起因

在工作过程中发现需要让Lua支持json库,如果直接用lua版本的json解析器的话效率不够高,所以找了一个用C实现的json库--cjson,据说此库比lua版本的效率高10-20倍。但是cjson是一个安卓的库,所以需要将其移植到VC中进行使用。

环境配置

开发工具:VS2012

扩展库:Lua5.1 cjson2.1.0

移植步骤

  • 建立工程

    使用VS2012新建一个控制台工程,这个我就不在这里累述了,相信大家都会。什么?你不会?不会就去学嘛~
  • 加入源码

    我将所有的代码放在了整个工程的同级目录下,新建了一个thrid文件夹,并且将Lua、cjson的源码放了进去。
  • 设置工程属性

    因为cjson直接包含使用Lua的头文件,而我又不想对代码进行修改,所以我直接修改了工程里面的包含目录,将Lua和cjson的目录加了进去,一了百了。

修改移植代码

  • 修改点一

    提示inline之后应该输入"(",原因未知,估计是编译器规则不一样导致。反正去掉内联关键字对程序也没什么影响,去掉就去掉吧。

    移植cjson到windows下编译的更多相关文章

    1. [转] Windows下编译OpenSSL

      简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

    2. Windows下编译objective-C

      Windows下编译objective-C 2011-08-31 14:32 630人阅读 评论(0) 收藏 举报 windowscocoa工具objective clibraryxcode   目录 ...

    3. 在Windows下编译FFmpeg详细说明

      MinGW:一个可*使用和*发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...

    4. 如何在WINDOWS下编译BOOST C++库 .

      如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25   写出来,怕自己以后忘记了,也为初学者参考.使用VC8.0和boost1.35.0.   1)下载boost ...

    5. 在Windows下编译OpenSSL(VS2005和VC6)

      需要说明的是请一定安装openssl-0.9.8a .  openssl-1.0.0我没有编译成功. 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1.安装Activ ...

    6. windows下编译java源文件的编码错误

      import java.util.Arrays;public class ArrayAsAReference{ public static void main(String[] args) { int ...

    7. Windows下编译SDL

      Windows下编译SDL的理由我就不多说了,无论用VS来编译或调试SDL库都是很方便的.而且SDL源代码中也包含了VC工程,你所要做的只是解压VC工程,进行适当的配置,然后编译.调试. 编译SDL大 ...

    8. Windows下编译安装 FFmpeg

      在Linux/Mac下编译 ffmpeg是非常方便的.但要在 Windows下编译 ffmpeg还真要花点时间.以下就是在 Windowns下编译ffmpeg的步骤: 一.安装Cygwin 在wind ...

    9. windows下编译php7图形库php_ui.dll

      CSDN博客 具有图形化编程才有意思,这几天看到了php ui 图形扩展,只是现在只能下载php 7.1的 本次教程编译php7.2.6的 php ui 要是linux下编译起来比较简单 但是 win ...

    随机推荐

    1. jesperreport+ireport简单理解

      ireport:主要是生成报表模板 jesperreport:主要是用.jesper文件填充数据(jdbc.javabean)生成面向用户的文件(PDF.HTML等)

    2. inteview que2

      1.spring的缓存,mybatis缓存a.基于注解的方式 三种注解b.mybatis分为一级session和二级缓存mapperc.采用LRU算法(近期最少使用) http://www.iteye ...

    3. HDU1247 Hat’s Words(Trie树)

      常规做法是枚举每个字符串每个位置,时间复杂度O(n*len*len),(建字典树O(n*len)). 然而我看这题第一眼想的是时间复杂度O(n*len)的算法..就是建正反两棵字典树,每个字符串跑分别 ...

    4. 例题6-3 Matrix Chain Multiplication ,Uva 442

      这个题思路没有任何问题,但还是做了近三个小时,其中2个多小时调试 得到的经验有以下几点: 一定学会调试,掌握输出中间量的技巧,加强gdb调试的学习 有时候代码不对,得到的结果却是对的(之后总结以下常见 ...

    5. css cursor url用法格式详解

      css cursor url用法格式:css:{cursor:url('图标路径'),auto;} //IE,FF,chrome浏览器都可以 实例代码:html{cursor: url("h ...

    6. Java笔记(二十)……线程间通信

      概述 当需要多线程配合完成一项任务时,往往需要用到线程间通信,以确保任务的稳步快速运行 相关语句 wait():挂起线程,释放锁,相当于自动放弃了执行权限 notify():唤醒wait等待队列里的第 ...

    7. on事件绑定阻止冒泡的问题

      当使用on进行事件绑定时当要给document绑定click,而子元素要禁止冒泡,那么子元素里面的子元素的click事件就会无效了, 下面无效版: $('#queue').on('click', '. ...

    8. webpack4学习笔记

      执行webpack-dev-server的时候不会自动生成dist打包目录,怪不得公司的项目里面都没用到webpack-dev-server呢 执行webpack的时候会生成dist目录 watch的 ...

    9. Java开发笔记(六十六)映射:HashMap和TreeMap

      前面介绍了两种集合的用法,它们的共性为每个元素都是唯一的,区别在于一个无序一个有序.虽说往集合里面保存数据还算容易,但要从集合中取出数据就没那么方便了,因为集合居然不提供get方法,没有get方法怎么 ...

    10. Android L2TP Client Setup

      原文链接:http://www.softether.org/4-docs/2-howto/9.L2TPIPsec_Setup_Guide_for_SoftEther_VPN_Server/3.Andr ...