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/C++

C++中用char数组构造string

在 C++ 中如何使用用 char 数组 构造 string,确实是一个老掉牙的话题,但是稍加不注意你就会出错。 最近在写一个可以跨平台打印的日志程序,遇到了这个问题,故记之,共勉! 用 char 数组初始化 string 示例 12345678910111213#include <string>using std::string;using std::cout;int main...

发布于 C/C++

OpenSSL: 实战-RSA分段解密

简介本篇是继 OpenSSL: 简单易上手的RSA加解密 后的补充篇,实战篇。 在实际项目中,并没有像上篇文章写的那么简单,实际情况要复杂的多。万变不离其宗,抽丝剥茧,复杂事务的背后一定是有其本质原因和原理的存在,而我们就是挖掘原理,探索本质的福尔摩斯。 今天这篇文章,带领大家参与到实际项目中运用RSA加解密,在阅读下面内容之前,期望大家可以下载 openssl 的源码,或者下载我 上篇文中...

发布于 C/C++

OpenSSL: 简单易上手的RSA加解密

简介这篇文章是继 OpenSSL: 用VS2017创建C工程、OpenSSL: 完成VS2017的配置 两篇文章的第3篇,前两篇分别跟大家分享了如何在 visual studio2017 中创建C工程,配置OpenSSL的开发环境以及使用 openssl 开源库实现base64的编解码。 本篇跟大家分享如何使用 openssl 开源库实现 RSA 的加密和解密,不过这一篇是对简单的数据进行...

发布于 C/C++

OpenSSL: 完成VS2017的配置

简介在 OpenSSL: 用VS2017创建C工程 中跟大家分享了如何在 Visual Studio 2017 中创建 C 工程和注意事项以及遇到问题的解决方案,今天我们开始在 Visual Studio 2017 中搭建 OpenSSL 的开发环境。 很多人在配置 OpenSSL 环境中遇到了不少问题,甚至还有放弃的。说实话,我也差点奔溃了:(,配置这些鬼东西确实有点复杂,说一句沃茨奥一...

发布于 C/C++

OpenSSL: 用VS2017创建C工程

简介该系列文章给大家(主要是刚接触Visual Studio工具的C开发者)带来使用开发工具Visual Studio 2017进行OpenSSL编程,包括base64,AES、DES和RSA加解密等内容。 对于C/C++的编程,我工作之后基本都是在Linux上面写,很少在Windows上面耕耘。最近收到几个小伙伴的邮件,有请教如何在Windows上面进行C编程的,也有问关于Ope...

发布于 C/C++

调侃C中的define

二狗子二狗子这个名字,在大街小巷,在电视剧中几乎都能听到。我也不知道老一辈的父母为什么这么喜欢给自己的孩子取这样的名字,唯一能让我信服的理由是:顺口!大叔大伯们之所以叫这个名字还有一个理由,之前孩子多,希望孩子像小狗儿一样好喂养。 正好我们村有个孩子也叫二狗子,大名叫张力万,无论是叫二狗子还是叫张力万,都指的是同一个人。我们大多数情况下还是叫他二狗子,他也习惯了倒也觉得亲切,叫张力万一般都是...

发布于 C/C++

C函数中返回字符数组

内容简介在阅读本篇文章之前,建议大家看一下下面2篇文章: 不见得你会计算C字符串长度 双宿双飞的 malloc 和 free 这篇文章主要分享三个点: 1、为什么作为局部变量的字符数组不能直接返回,而字符指针却可以? 2、当字符数组是局部变量的时候,函数如何返回它? 3、字符数组(char [])和字符指针(char *)如何互转? 局部变量的字符数组在C中如果我们直接返回字符数组,编译...

发布于 C/C++

双宿双飞的 malloc 和 free

最近在看人工智能相关的知识,无意中发现了一个巨牛的 人工智能教程,分享一下给大家。 教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点 这里 可以直接看教程。 简介函数 malloc 和 free 是一对好朋友,几乎是形影不离。有 malloc 的地方就应该有 free 的存在。 今天跟大家聊聊 malloc 和 free 这对好基友,这两个函数都是...

发布于 C/C++

Ubuntu19安装Swift5

内容概要通过实践,分享如何在 Ubuntu19 下面如何安装 Swift5. 安装必备库在使用 apt-get 之前,有必要做一次更新,如下: 1sudo apt-get update 更新完成后,安装对应的库文件,如下: 1sudo apt-get install git cmake ninja-build clang python uuid-dev libicu-dev icu-dev...

发布于 C/C++

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

veryitman