C/C++
sirria1
这个作者很懒,什么都没留下…
展开
-
cjson精度丢失问题
问题延伸发现:WPS也会有此操作,不过精度更差,2位以上的小数就会执行floor转换显示。刚好用的wps查看源数据,LUA加载之后,cjson输出,两边都将浮点数转成了整数,隐藏了问题。问题现象:浮点数 例如:92674799.9999999通过 CJSON转换之后,会被执行FLOOR成整数92674800。开发语言:lua5.4.3。转载 2023-07-21 14:37:50 · 408 阅读 · 1 评论 -
error LNK2019: 无法解析的外部符号 _WinMain@16
问题严重性代码说明项目文件行禁止显示状态错误LNK2019无法解析的外部符号 _WinMain@16,该符号在函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用\LIBCMTD.lib(exe_winmain.obj)1原因以及解决方案产生这个问题的真正原因是c语言运行时找不到适当的程序入口函数,一般情况下,如果是windows程序,那么WinMain是入...转载 2022-05-26 14:01:42 · 6641 阅读 · 0 评论 -
openssl完美前向安全(PFS)支持C++实现
在创建context之后,调用符合PFS规范的加密套件,加载完证书之后设置ECDH// context 生成Context context(SSL_CTX_new(SSLv23_server_method()));// PFS加密套件,腾讯云,各种检测网站都有推荐const char * cipher_list = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE...原创 2020-03-09 09:26:16 · 1163 阅读 · 0 评论 -
【VS连接类型冲突】模块计算机类型与目标计算机类型冲突
使用VS编译生成的时候,如果提示“”模块计算机类型X与目标计算机类型Y冲突“”,就有可能就是调用的DLL或者lib使用的计算机类型与当前项目设定的类型不一致导致的。解决方案:1.如果可以重新生成DLL或者LIB,可以将DLL和LIB的生成类型改为目标类型一致,需要更改的地方有如果目标是X64就将win32都改成x64,另外有两个隐藏比较深得位置:如下原创 2017-04-27 19:54:47 · 4474 阅读 · 0 评论 -
【基础常识】大小写字母、数字的ASCII码值
a-z:97-122A-Z:65-900-9:48-57SCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。ASCII表:转载 2016-04-07 14:16:55 · 24056 阅读 · 1 评论 -
对缓存的思考【续】——编写高速缓存友好代码
转载地址:http://www.cnblogs.com/yanlingyin/archive/2012/02/15/thinkingincache.html开篇上一篇博文对缓存的思考——提高命中率详细介绍了高速缓存的组织结构,并通过实例说详细明了cpu从高速缓存中取数据的过程,对于缓存的工作机制应该有了清晰的认识。这篇博文就来简单讨论以下对于缓存在实际开发中的应用,这里将告诉你转载 2016-11-03 17:33:22 · 870 阅读 · 0 评论 -
对缓存的思考——提高命中率
转载地址:http://www.cnblogs.com/yanlingyin/archive/2012/02/14/2348980.html开篇编写高效的程序并不只在于算法的精巧,还应该考虑到计算机内部的组织结构,cpu微指令的执行,缓存的组织和工作原理等。好的算法在实际中不见得有高效率,如果完全没有考虑缓存、微指令实现的话。前两篇博文局部性原理转载 2016-11-03 16:38:05 · 449 阅读 · 0 评论 -
提高程序性能、何为缓存——从存储器结构说起
转载地址:http://www.cnblogs.com/yanlingyin/archive/2012/02/12/2347757.html开篇 上一篇博文局部性原理浅析——良好代码的基本素质中对程序局部性有了一个简单的介绍。基本上已经知道了如何编写有良好局部性的代码。但是为什么有良好局部性的代码就能有良好的运行效率,这个问题将在这篇博文中给出解答。至于转载 2016-11-03 16:35:21 · 424 阅读 · 0 评论 -
局部性原理浅析——良好代码的基本素质
本文转自博客园,原文地址:http://www.cnblogs.com/yanlingyin/archive/2012/02/11/2347116.html开篇 一个优秀的程序、优美的代码,一般都具有良好的局部性。简洁、高效是每个程序员的追求。了解程序的局部性,能编写出更高效的代码。因为有良好局部性的程序能更好的利用缓存。不过这方面的只是将在以后的文章中转载 2016-11-03 16:29:32 · 411 阅读 · 0 评论 -
基于UTF8字符串检查错误替换功能
utf8的长度为1~4个字节,是一种变长串,在转换和传送过程中,可能由于某种意外会导致串出现错误的字符,致使有些工具无法识别而出现乱码,或者直接导致操作无法完成。实际应用中的例子:游戏中的邮件系统,一般会限制标题,内容的长度,但由于客户端截取长度时的不正当操作,导致utf8串被从中间截断。比如标题长度上限是15个字节,然后玩家输入的标题占用了16个字节,而最后输入的一个汉字占用3个字节,如果直原创 2016-08-26 11:07:11 · 824 阅读 · 0 评论 -
ANSI、ASCII、Unicode和UTF-8编码
1、ANSI编码 unicode和ansi都是字符代码的一种表示形式。为使计算机支持更多语言,通常使用 0x80~0xFF 范围的 2 个字节来表示 1 个字符。比如:汉字 '中' 在中文操作系统中,使用 [0xD6,0xD0] 这两个字节存储。 不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些转载 2016-08-25 14:36:59 · 336 阅读 · 0 评论 -
前++/--和后++/--之坑
最近在百度知道上看到的两道题目而引发的,先看题。题一:int fn(int a, int b){ return a + b;}int f(){ int a = 2, b = 4; int c = 0; c = a + b, ++b; int d = fn(a + b, ++b); cout << c << ',' << d << endl; retur原创 2016-06-23 16:32:56 · 386 阅读 · 0 评论 -
Curl添加open ssl 实现https连接
Curl默认是不包含open ssl的,需要手动添加依赖项并修改编译参数。1.从http://curl.haxx.se下载最新的curl源码,github应该也有,或者从我的下载连接下载也可以:http://download.csdn.net/detail/sirria1/95790612.从http://windows.php.net/downloads/php-sdk/deps/网原创 2016-07-18 14:29:17 · 6411 阅读 · 0 评论 -
无法解析的外部符号 __imp__curl_easy_init
下载libcurl的源码,打开lib文件夹下项目,编译为静态链接库。在编译的时候出现问题如下:注:以前在vc2005下用mfc工程并且libcurl用的dll方式没问题,这次vc2008用的sdk并且libcurl用的静态编译,也不知道什么问题引起的HttpWebRequest.obj : error LNK2001: 无法解析的外部符号 __imp__curl_slist转载 2016-07-16 15:13:07 · 3136 阅读 · 0 评论 -
C++ 多继承和虚继承的内存布局
英文原文:http://www.phpcompiler.org/articles/virtualinheritance.html参与翻译【中国开源社区】(5人):super0555, polarisxxm, Ley, zaobao, 开源中国吹牛第一警告. 本文有点技术难度,需要读者了解C++和一些汇编语言知识。在本文中,我们解释转载 2016-07-16 10:58:52 · 338 阅读 · 0 评论 -
VS中的路径宏 vc++中OutDir、ProjectDir、SolutionDir各种路径
$(RemoteMachine)设置为“调试”属性页上“远程计算机”属性的值。有关更多信息,请参见更改用于 C/C++ 调试配置的项目设置。$(References)以分号分隔的引用列表被添加到项目中。$(ConfigurationName)当前项目配置的名称(例如“Debug”)。$(PlatformName)当前项目平台的名称(例如“Wi转载 2016-04-22 15:19:20 · 281 阅读 · 0 评论 -
一个合格的程序员应该读过哪些书
原帖地址:http://ezlippi.com/blog/2014/07/qualified-programmer-should-read-what-books.html编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的?“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初转载 2016-05-03 13:49:17 · 428 阅读 · 0 评论 -
【多线程开发】临界区死锁问题
最近在学习网络多线程编程时遇到的一个问题,就是使用临界区时,由于使用不当而触发的死锁。表象就是 应用程序安全卡死,内存和CPU消耗没有变化;实质是:控制共享资源的临界区没有进行正确的释放。解决过程:1.出现上述表象之后,就中断程序,VS截图如下:2. 如果是VS,这时编译器就会弹出提示框3. 点击确定后查看线程视图:4.发现子线程都停留在IOCPMgr::Add原创 2016-03-31 11:23:07 · 2849 阅读 · 1 评论