自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 使用CMake完成SGX SDK程序的编译

前言在使用SGX保护大工程中的一部分的时候,大工程往往使用的是CMake完成工程源码的编译并产生可执行文件,但是SGX SDK给的例子都是使用Makefile完成编译,为了在大工程中使用SGX SDK功能,那么就要实现使用CMake编译SGX SDK程序准备工作我的环境仍然是使用的以前SGX文章中的环境,在此不做赘述,现阶段我使用的SDK SDK版本是2.0版本,下载地址是https:

2018-01-16 10:52:59 1871

原创 Linux下SGX的使用(3)-编译多个文件

在上一篇文章中,我们写出了Hello Enclave,但是只有一个cpp文件,较为简单,如果我们想同时编译多个文件我们应该怎么写每个CPP文件对应的EDl文件呢?本次我们就对这些内容做分析: 正如C++支持多个文件同时编译一样,SGX也同时支持类似的方式,我们还是以Hello Enclave的例子做改进,首先,我们看一下C++多个文件同时编译。我们建立三个文件,分别名为hello.cpp wor

2017-11-09 10:22:36 1242

转载 如何使用web3.js 部署智能合约

原文:https://medium.com/@k3no/ethereum-tokens-smart-contracts-3346b62d2a0在编译之前,需要安装node以及npm,之后需要建立一个文件夹,使用以下指令$ mkdir web3test && cd web3test$ npm init$npm install web3 --saveEnter So...

2017-09-27 14:40:16 11549 4

原创 Linux下SGX的使用(2)-Hello Enclave

在编写代码之前,我们需要定义可信和不可信的函数,我们首先建立一个文件夹,在文件夹中为了编译方便(仿照上一节的makefile写我们自己的makefie)也仿照sdk给的例子中的文件夹布局建立新的文件夹文件夹的布局如下: 其中后缀为xml,lds,pem的文件,直接从SDK中SampleEnclave中拷贝即可(在所有的案例中,xml,lds的内容一样,但是名称不一样,也可以自己更该,但是makef

2017-09-20 09:00:37 3568 5

原创 Linux下SGX的使用(1)-makefile阅读

预备Ubuntu:Ubuntu 16.04.1 LTS SGX版本:Intel SGX Linux 1.8 Release 下载地址:https://01.org/zh/intel-software-guard-extensions/downloads?langredirect=1 安装过程:https://download.01.org/intel-sgx/linux-1.8/docs/In

2017-09-19 11:15:27 5251

原创 C++学习笔记(10)-信号处理&多线程

信号处理C++信号处理主要用来捕捉系统产生的异常信号之后进行处理,它的头文件是 #include <csignal> C++主要是靠signal()函数来捕获异常信号,signal()函数能够捕获的异常信号包括如下信号: 信号标识符 说明 SIGILL 检测非法指令 SIGINT 接收到交互注意信号 SIGFPE 错误的算术运算,比如除以零或导致溢出的操作 SI

2017-09-15 16:49:36 1454

原创 C++学习笔记(9)-预处理器

所有的预处理器都以#开始,C++支持的预处理器有很多,比如 #include、#define、#if、#else、#line 等#define格式:#define 被替代的名称 替代内容 例如:#define add(a,b) a+b; 宏定义,主要是将代码在编译之前将文件中所有的add(a,b)都替换成a+b#ifdef和#endif详见第一节#和##运算符在学习之前,首先看一下”的例子#in

2017-09-14 11:20:13 347

原创 C++学习笔记(8)-模板

模板模板主要是提供一种处理方式,相当于加强版的函数处理,里面的参数类型,处理方式都能够被模板化,传统的函数处理是不能够针对多种处理方式的,所以会出现函数的重载问题。 模板主要包括两个方面: - 针对函数的模板,格式:template 函数返回值 函数名称 (函数参数){函数处理};例如template void swap(T& a, T& b){},其中的class能够变成typena

2017-09-13 17:43:02 239

原创 C++学习笔记(7)动态内存&命名空间

动态内存函数内部声明的变量都放入栈中当调用子函数的过程中,压栈顺序是变量从右往左压栈,一般放的都是参数值以及局部变量此外还有代码区,公共变量存储区,define以及static变量都压入公共变量存储区栈在高地址,堆在低地址,栈的生长方向是往低地址生长,堆是向高地址生长在C中申请动态内存使用的是malloc关键字,但是在C++中使用的是new释放内存时,C使用的是free关键字,C+

2017-09-13 15:16:37 246

原创 C++学习笔记(6)-异常处理

C++异常处理当异常发生的时候,会提出一个转移控制权的方式通常是通过以下三个关键字来实现的: - throw 当问题出现的时候,抛出一个异常 - catch 在想要处理异常的地方使用catch来捕获异常 - try try块中的代码将要标识被激活的特定异常,通常后面跟着很多catch 通常来讲,try中的代码是可能出现异常的代码,可以称之为保护代码,try之后的catch用于捕获异常

2017-09-13 08:42:27 270

原创 C++学习笔记(5)-文件和流

头文件对文件操作的头文件要包含fstream即 #include <fstream>数据类型对文件的操作无非就是文件的读和写,其中有三种变量类型 变量类型 描述 ifstream 这种类型的变量用于输入文件的数据流,表示从文件中进行读操作 ofstream 这种类型的变量用于输出数据流到文件中,表示向文件中写 fstream 这种类型的变量既可以向文件中写,又可以从文

2017-09-12 15:28:12 271

原创 C++学习笔记(4)-数据抽象&数据封装&接口(抽象类)

数据抽象数据抽象是只提供相应的接口,而不是提供具体的实现细节,例如sqrt()函数,我们只需要使用相应的接口就能够使用这个函数,不管这个函数是如何处理的,例如,每个类中的函数都是数据抽象,我们只需知道如何使用以及他的功能就可以,而无需管他是如何实现 例子:#include <iostream>using namespace std;class Adder{ public: //

2017-09-12 11:07:16 401

原创 C++学习笔记(3)-重载与多态

C++中的函数重载在同一个作用域内,可以声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同。您不能仅通过返回类型的不同来重载函数。 例子:#include <iostream>using namespace std;class printData { public: void print(int i) { cout <

2017-09-12 09:54:29 221

原创 C++学习笔记(2)-类

C++中的类类的定义使用class表示,他的格式如下:calss classname { public: 变量类型1 变量名称1; 变量类型2 变量名称2; 变量类型3 变量名称3; };则在后续的使用的过程中,其结构如下: classname a1; classname a2; 例子如下:#include <iostream>using namespace std;

2017-09-12 09:45:03 305

原创 C++学习笔记(1)

#if与#endif条件编译   #if (comdition)   {//语句##;}   #endif   如果(comdition)为真, 也就是逻辑1的话,编译下面的语句,如果(comdition)为假,即逻辑0,则不编译下面的语句。例子如下:  #define DEBUG  #if DEBUG  Printf(“Value of i:%d\n”, i);  Printf(“V

2017-09-12 09:40:57 307

原创 Ubuntu16.04 源码安装Cpp-Ethereum

Ubuntu 16.04 安装Cpp-EthereumCpp以太坊客户端的安装需要Cmake来产生客户端所需要的文件,大致步骤有三步:-安装构建工具和外部包(平台依赖) -获取以太坊客户端源代码 -使用Cmake构建文件并安装1、安装Git2、安装Cmake3、获取源代码4、插入依赖库5、安装Cpp-Ethereum

2017-08-21 10:48:35 665

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除