GCC: __attribute__((visibility()))
在 objc-api.h 里面有很多关于 __attribute__ 的定义。 例如下面的代码片段: 1234567891011#if !defined(OBJC_VISIBLE)# if TARGET_OS_WIN32# if defined(BUILDING_OBJC)# define OBJC_VISIBLE __declspec(dllexpor...
C++中用char数组构造string
在 C++ 中如何使用用 char 数组 构造 string,确实是一个老掉牙的话题,但是稍加不注意你就会出错。 最近在写一个可以跨平台打印的日志程序,遇到了这个问题,故记之,共勉! 用 char 数组初始化 string 示例 12345678910111213#include <string>using std::string;using std::cout;int main...
OpenSSL: 实战-RSA分段解密
简介本篇是继 OpenSSL: 简单易上手的RSA加解密 后的补充篇,实战篇。 在实际项目中,并没有像上篇文章写的那么简单,实际情况要复杂的多。万变不离其宗,抽丝剥茧,复杂事务的背后一定是有其本质原因和原理的存在,而我们就是挖掘原理,探索本质的福尔摩斯。 今天这篇文章,带领大家参与到实际项目中运用RSA加解密,在阅读下面内容之前,期望大家可以下载 openssl 的源码,或者下载我 上篇文中...
OpenSSL: 简单易上手的RSA加解密
简介这篇文章是继 OpenSSL: 用VS2017创建C工程、OpenSSL: 完成VS2017的配置 两篇文章的第3篇,前两篇分别跟大家分享了如何在 visual studio2017 中创建C工程,配置OpenSSL的开发环境以及使用 openssl 开源库实现base64的编解码。 本篇跟大家分享如何使用 openssl 开源库实现 RSA 的加密和解密,不过这一篇是对简单的数据进行...
OpenSSL: 完成VS2017的配置
简介在 OpenSSL: 用VS2017创建C工程 中跟大家分享了如何在 Visual Studio 2017 中创建 C 工程和注意事项以及遇到问题的解决方案,今天我们开始在 Visual Studio 2017 中搭建 OpenSSL 的开发环境。 很多人在配置 OpenSSL 环境中遇到了不少问题,甚至还有放弃的。说实话,我也差点奔溃了:(,配置这些鬼东西确实有点复杂,说一句沃茨奥一...
OpenSSL: 用VS2017创建C工程
简介该系列文章给大家(主要是刚接触Visual Studio工具的C开发者)带来使用开发工具Visual Studio 2017进行OpenSSL编程,包括base64,AES、DES和RSA加解密等内容。 对于C/C++的编程,我工作之后基本都是在Linux上面写,很少在Windows上面耕耘。最近收到几个小伙伴的邮件,有请教如何在Windows上面进行C编程的,也有问关于Ope...
调侃C中的define
二狗子二狗子这个名字,在大街小巷,在电视剧中几乎都能听到。我也不知道老一辈的父母为什么这么喜欢给自己的孩子取这样的名字,唯一能让我信服的理由是:顺口!大叔大伯们之所以叫这个名字还有一个理由,之前孩子多,希望孩子像小狗儿一样好喂养。 正好我们村有个孩子也叫二狗子,大名叫张力万,无论是叫二狗子还是叫张力万,都指的是同一个人。我们大多数情况下还是叫他二狗子,他也习惯了倒也觉得亲切,叫张力万一般都是...
C函数中返回字符数组
内容简介在阅读本篇文章之前,建议大家看一下下面2篇文章: 不见得你会计算C字符串长度 双宿双飞的 malloc 和 free 这篇文章主要分享三个点: 1、为什么作为局部变量的字符数组不能直接返回,而字符指针却可以? 2、当字符数组是局部变量的时候,函数如何返回它? 3、字符数组(char [])和字符指针(char *)如何互转? 局部变量的字符数组在C中如果我们直接返回字符数组,编译...