Boost库安装

简介

Boost库是一个可移植、提供源码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,其成员近2000人。Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。

Boost库中较著名库:

1)Regex,正则表达式库;

2)SpiritLL parser framework,用C++代码直接表达EBNF

3)Graph,图组件和算法;

4)Lambda,在调用的地方定义短小匿名的函数对象,很实用的functional功能;

5)Concept check,检查泛型编程中的concept

6)Mpl,用模板实现的原编程框架;

7)Tread,可移植的C++多线程库;

8)Python,把C++库和函数映射到Python之中;

9)Pool,内存池管理;

10)Smart_ptr,智能指针。

安装详解

Window下,boost库安装

操作系统:Win7 64旗舰版

1)在官网上下载最新的boost库版本,在此具体版本为http://www.boost.org/,针对不同操作系统,下载不同的软件包,在此下载的是boost_1_60_0.7z。将其放在D:\setup文件夹下;

2)解压boost_1_60_0.7z

3)在D:\setup\boost_1_60_0文件夹下找到bootstrap.bat文件,双击运行,此时会生成bjam.exe文件。

4)双击bjam.exe文件,此时进行编译和安装。(大概需要20分钟)。

5)安装完成后,配置编译环境。方法是在D:\setup\boost_1_60_0\tools\build\example文件夹下找到user-config.jam文件。使用文本编辑器打开后,在最后一行添加如下内容:

# using msvc : 11.0 : D:/setup/VisualStudio/VC/bin/vcvars32.bat ;

6)此时boost库安装和配置完成。

7)在VS2012下新建空控制台项目,然后新建main.cpp,编写如下程序:

#include <iostream>  
#include <boost/thread/thread.hpp>  
void hello()  
{  
     std::cout << "Hello world, I'm a thread!" << std::endl;  
}  
int main()  
{  
     boost::thread thrd(&hello);  
     thrd.join();  
} 

8)此时程序会显示错误。下面配置VS2012下的库目录和链接库目录。方法:

项目-》属性-C/C++(general)中附件额外库目录:D:\setup\boost_1_60_0

项目-》属性-Linker(general)中附件额外库目录:D:\setup\boost_1_60_0\stage\lib

9)运行VS2012下的项目,即可。 

Linuxboost库安装

操纵系统:Ubuntu kylin 14.04

1)安装boost库的依赖库(mpi库、支持正则表达式的unicode字符集、python),具体使用如下命令:

apt-get install mpi-default-dev libicu-dev python-dev libbz2-dev

2)下载boost库,下载网址:http://www.boost.org/。然后使用tar -jxvf命令(针对.tar.bz2文件)或tar -xzvf命令(针对.tar.gz文件)进行解压。

3)修改user-config.jam文件,在其文件的最后一行添加如下信息:

using mpi ;

注意mpi后面要有一个空格。

4)编译boost库使用如下命令:

sudo ./bootstrap.sh

得到b2bjam文件,然后执行如下命令(其中-a表示重编译,-sHAVE_ICU=1表示支持unicode/ICU编码):

sudo ./b2 -a -sHAVE_ICU=1

5)安装boost库,使用如下命令:

sudo ./b2 install

6)测试boost库,编写测试程序如下:

#include <boost/lexical_cast.hpp>
#include <iostream>
int main()
{
	using boost::lexical_cast;
	int a = lexical_cast<int>("123");
	double b = lexical_cast<double>("123.12");
	std::cout<<a<<std::endl;
	std::cout<<b<<std::endl;
	return 0;
}


编译通过,执行后即可。

### 使用 Visual Studio Code 在 Kali Linux 上实现恶意软件免杀技巧 #### 重要声明 开发和部署任何类型的恶意软件都是非法且道德不可接受的行为。本回答仅提供技术信息用于教育目的,旨在帮助安全研究人员了解防御机制。 #### 技术背景 Visual Studio Code (VS Code) 是一款强大的多平台代码编辑器,在 Kali Linux 中可以通过多种方式安装并配置环境来编写不同编程语言的应用程序[^1]。对于研究性质的工作而言,理解如何使某些二进制文件绕过基本检测机制具有一定的学习价值。 #### 编写混淆脚本 为了防止被简单特征码扫描工具识别出来,可以采用字符串加密、函数重命名等方式对源代码进行变形处理: ```python import base64 def obfuscate_string(input_str): encoded_bytes = input_str.encode('utf-8') encrypted_data = base64.b64encode(encoded_bytes).decode() return f"exec(__import__('base64').b64decode('{encrypted_data}'))" obfuscated_code = obfuscate_string(""" print("This is an example of string obfuscation.") """) print(obfuscated_code) ``` 此段Python代码展示了基础的Base64编码作为简单的演示[^3]。 #### 修改PE头或其他元数据 针对Windows可移植执行体(Portable Executable, PE),改变其头部结构或者嵌入额外资源能够有效干扰静态分析过程。然而请注意,这类操作通常涉及汇编层面的知识以及特定的支持,如`pefile` Python模块。 #### 动态加载与反射注入 通过动态链接(DLL)或内存映射技术载入必要的功能组件而非直接包含于主程序体内;这种方法增加了逆向工程难度的同时也使得传统的基于签名的安全产品难以捕捉到完整的攻击模式[^5]。 #### 创建自定义打包方案 利用PyInstaller等工具将解释型语言转换成独立运行的原生应用,并加入加壳保护措施进一步增强隐蔽效果。不过需要注意的是,过度复杂的封装可能会引起高级防护系统的怀疑。 #### 配置 VS Code 支持上述工作流程 确保已按照官方指南完成VS Code及其扩展插件的设置,以便支持目标编程语言特性及调试需求[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值