- 博客(25)
- 收藏
- 关注
原创 new一个数组,并使其 16B 对齐
char* buf = new char[n + 16];// 由于有可能分配的内存并不是16字节对齐,这里可以多分配16个 字节,这样将不对齐的分配强制对齐后,不会造成写越界double* ptr = (double *)((int)buf + 15) & ~15);// ptr已经是16字节对齐了,并且可操作的字节数不会小于n个字节第二步相当于,后移15字节,将余数 部分抹0...
2018-03-13 14:57:46
887
转载 C++常用字符串分割方法实例汇总
一、用strtok函数进行字符串分割原型: char *strtok(char *str, const char *delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。其它:strtok函数线程不安全,可以使用strtok_r替代
2017-05-23 22:24:31
705
原创 linux shell 将多行文件转换为一行
说实话,虽然对shell编程包括awk有所了解,但是对sed的多行与一行的处理还是不甚理解,在网上搜罗了一篇文章觉得还不错,记录一下: 今天一个工程师问我,怎么将一个文件中的多行转换成一行。 我给出了如下三种方法: 1. 采用awk awk BEGIN{RS=EOF}'{gsub(/\n/," ");print}' f
2017-05-23 21:56:41
2337
原创 C++分割字符串
#include #include #include //字符串分割函数std::vector split(std::string str,std::string pattern){ std::string::size_type pos; std::vector result; str+=pattern; //扩展字符串以方便操作 int size
2017-05-23 21:19:49
385
原创 shell脚本将text文件中的文件名筛选转化成独立的文件
先说明下我做的事儿,在test2文件下包含了文件路径和文件名,我需要将路径之间的/ 改成_ 并用它作为文件名创建文件,将路径下的文件反汇编,筛选内容放入新创建的文件中代码如下#!/bin/bashcat test2 | while read linedo fn=${line////_} fn=${fn/_/} objdump -d $line |
2017-05-23 20:36:13
571
原创 shell脚本反汇编取出所有aesenc的函数名
首先说明下我要做的事,其实这篇是接上一篇接下去做的,test2中包含所有符合条件的文件路径,我需要将文件反汇编取出所有AESENC的函数名#!/bin/shcat test2 | while read linedo objdump -d $line | grep "\" | grep -v ">:" >> test5donecat test5 | awk -F ':' '{pri
2017-05-23 20:32:35
677
原创 bash脚本筛选出根目录下所有ELF文件,并将路径输出
首先说明下我做这个bash脚本的目的我需要从根目录下筛选出所有ELF文件,并将这类文件的路径整理成一个text文件,逐行读取text文件内的路径,依次将目标文件反汇编,并筛选将符合条件的文件路径输出到另一个text文件中#!/bin/shfind / -type f -exec file {} \; | grep "\" | awk -F ':' '{print $1}' >>ELFfil
2017-05-22 20:25:15
2227
原创 bash,awk分离出文件夹目录下最后的文件
本文其实是接博客内 bash/shell 遍历文件夹下的所有文件 的进一步操作,如果不知道bash如何遍历生成文件夹下的所有文件目录请看博客内的另一篇文章。其实这一步可以直接在终端下完成,bash_test_document2.sh 是我之前用于遍历文件夹的shell文件,利用awk指令分离出需要的部分 ‘/’表示以/来分割 print $NF表示输出每行的最后一
2017-04-20 20:44:11
1027
转载 Shell脚本中循环语句for,while,until用法
循环语句:Bash Shell中主要提供了三种循环方式:for、while和until。一、for循环 for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区域(在do和done 之间),直到所有元素取尽为止。 其中,串行是一些字符串的组合,彼此用$IFS所定义的分隔符(如空格符)隔开,这些字符串称为字段。for的
2017-04-20 20:37:46
641
转载 linux grep命令详解
简介grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展
2017-04-20 20:30:53
712
转载 LINUX - awk命令之NF和$NF区别
NF和$NF 区别问答:1.awk中$NF是什么意思?#pwd/usr/local/etc~# echo $PWD | awk -F/ '{print $NF}'etcNF代表:浏览记录的域的个数$NF代表 :最后一个Field(列)2.awk下面的变量NF和$NF有什么区别?{print NF} 也有{print $NF}前者是输出了域个数,后者是
2017-04-20 20:25:05
26464
转载 三大文本处理工具grep、sed及awk的简单介绍
grep、sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了。只不过,相比较而言,sed和awk功能更强大而已,且已独立成一种语言来介绍。grep:文本过滤器,如果仅仅是过滤文本,可使用grep,其效率要比其他的高很多;sed:Stream EDitor,流编辑器,默认只处理模式空间,不处
2017-04-20 20:20:16
891
转载 shell 编程——for in 循环
shell 编程——for in 循环 -------for in 格式------- for 无$变量 in 字符串 do $变量 done 一简单的字符串 枚举遍历法,利用for in格式对字符串按空格切份的功能 SERVICES="80 22 25 110 8000 23 20 21 33
2017-04-20 20:15:39
1923
原创 bash/shell 遍历文件夹下的所有文件
最近在研究shell script,先从简单的一步步写吧。本文主要写 如何用shell指令设计,遍历生成文件夹下的目录#!/bin/bash function ergodic(){ for file in ` ls $1 ` do if [ -d $1"/"$file ] then ergo
2017-04-20 20:12:23
12502
原创 利用openssl里的库函数进行AES的加解密—cbc
本人尝试编写的测试利用openssl库函数进行AES中cbc的加解密,至于其它ecb,cfb,ofb等的加解密可套路以下程序。在贴代码之前本人需要分享三个网站,个人认为对理解AES加解密和text的编写极有用处http://www.cnblogs.com/adylee/archive/2007/09/14/893438.htmlhttp://www.open-open.com/li
2017-04-13 13:50:54
2624
原创 ubuntu下如何安装openssl
1,下载openssl的安装包搜索引擎搜索openssl或直接通过https://www.openssl.org/进入网址,点击网页右边栏目home下的Downloads:sourcecode点击gitrepository或https://github.com/openssl/openssl均可,区别仅在于,前者是clone文件,后者是下载zip压缩包2,安装opens
2017-04-11 18:28:40
8504
原创 # error "AES/PCLMUL instructions not enabled"
今天遇到了一个error#if !defined (__AES__) && !defined (__PCLMUL__) # error "AES/PCLMUL instructions not enabled" #else提示中告诉我们是两个宏没有定义。这里主要是gcc/g++编译器的问题,需要添加编译选项-maes或 -mpclmul即可
2017-04-10 16:38:49
1365
原创 ./configure,make,make install的各自用途
./configure是用来检测你的安装平台的目标特征的。也就是检测你的安装平台是否适合安装。make是用来编译的,它从Makefile中读取指令,然后编译。make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置1、configure,这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参
2017-04-07 17:33:58
567
转载 cmake和make的区别
下面是中文翻译部分: 编程人员已经使用CMake和Make很长一段时间了。当你加入一家大公司或者开始在一个具有大量代码的工程上开展工作时,你需要注意所有的构建。你需要看到处跳转的”CMakeLists.txt”文件。你应该会在终端使用”cmake”和”make”。很多人都是盲目的跟着操作说明而并不在意我们已何种方式去做我们需要做的事。构建的整个过程是什么?为什么要用这种方式去组织?Cm
2017-04-07 17:29:29
1064
转载 git快速入门
按照通常的惯例,我们先扯一些没用的东西。 咱们先来说说什么是版本控制。所为版本控制,现在大多特指代码工程的版本控制,意指追踪记录项目从开始一直到最后定稿期间项目副本的一切更改,借此控制项目的整个进展流程。同时,允许多个人同步共享版本现状,并分别有读写权限控制,以保证项目代码的安全性。 本文主角 Git 就是是一个由 Linus Torvalds 大神为了更好地管理linux内核开发
2017-04-07 09:16:25
494
原创 ubuntu下安装flash
ubuntu下要安装flash,只需一条命令: sudo apt-get install flashplugin-installer 然后,重启浏览器,注意! 是重启浏览器,不是重新打开当前页面。
2017-04-07 09:05:34
363
转载 ubuntu下安装codeblocks
codeblocks是一个十分优秀的C/C++开发IDE,虽然后起之秀codelite目前来看大有超越之势哦。 不过在ubuntu下安装codeblocks却比较麻烦,不像其他Linux发行版,比如suse,debian和fedora等在官网上有现成的bin文件可以直接下载安装。 下面简单介绍下如何在ubuntu下快速安装最新的codeblocks:1.加入官方ppa源:sud
2017-04-07 09:04:19
3220
原创 ubuntu下使用英文界面和中文输入法
ubuntu下可以随意转换界面语言模式,方法如下: 首先,我们需要知道哪里是控制界面语言的部分,这与控制输入法的地方不一样,这一点需注意,笔者之前就搞混了,控制界面语言的地方在系统设置(system settings)-->语言支持(language support)-->语言(language)中的第一行,也就是黑体的那行,你会发现如果你的界面语言为英语,那
2017-04-07 09:01:54
2723
原创 关于ubuntu连WIFI的解决方法
笔者之前因为外教逼迫装过ubuntu,后来又被崩坏了,之后忙考研就再也没碰过,现在考研结束又开始折腾这东西,用来学(zhuang)习(bi),alors,装好ubuntu后最重要的一件事就是连WIFI,笔者之前一直企图不连网线直接通过命令行搜索到WIFI,但是我现在也可以很明确得告诉你,几乎是不可能的,至少,我百般尝试都没成功,不过如果有哪位大神知道方法,麻烦告知一声。 笔者
2017-04-07 09:00:13
11150
1
原创 ubuntu无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
今天在安装软件时遇见了一个问题,显示如下: 正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件包尚未被创建或是它们已被从新到(Incoming)目录移出。下列信息可能
2017-04-06 17:44:25
5680
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人