2019-12-15 06:56
⁄ 工业·编程
⁄ 共 7635字
说到Redis就会联想到Memcached,反之亦然。了解过两者的同学有那么个大致的印象:Redis与Memcached相比,比仅支持简单的key-value数据类型,同时还提供list,set,zset,hash等数据结构的存储;redis支持数据的备份,redis支持数据的持久化,看起来redis比memcached更加牛逼一些,那么事实上是不是这样的呢?
Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较:
· Redis支持服务器端的数据操作:Red...
Memcached, Redis, 区别阅读全文
2019-12-14 06:30
⁄ 工业·编程
⁄ 共 2239字
一、Memcached简介
Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。
Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。
Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。
Memca...
Memcached, Redis阅读全文
2019-12-13 12:39
⁄ 工业·编程
⁄ 共 429字
#include <stdio.h>
int fun()
{
printf("func\n");
return 0;
}
int f() __attribute__((weak, alias("fun")));
#define weak_alias(name, aliasname) \
typeof(name) aliasname __attribute__((weak, alias(#name)))
weak_alia...
glibc阅读全文
2019-12-12 12:35
⁄ 工业·编程
⁄ 共 1230字
__attribute__是用来说明函数的属性,weak和alias分别是两个属性。
(一)强符号和弱符号:
强符号:已经初始化的全局变量和未被weak修饰的函数
弱符号:未初始化的全局变量和被weak修饰的函数
符号链接原理:链接器发现同时存在弱符号和强符号,优先选择强符号,如果发现不存在强符号,只存在弱符号,则选择弱符号
那么它们有什么用呢?比如我们想使用某个函数必须用到的函数,但是不知道该函数在其...
GCC, glibc阅读全文
2019-12-11 12:32
⁄ 工业·编程
⁄ 共 2882字
最近查看linux内核代码时,表现了一些编译器选项如__attribute_((weak))、__attribute__( (alias("target"))),一开始不了解,后来自己查看资料及书籍算是对gcc的这个编译属性有了一定的认识。
一、先了解weak属性。
__attribute__((weak))表示为弱符号属性,所谓的弱符号是针对于强符号来说的,我们定义的全局已初始化变量及全局函数等都是属于强符号,在链接时如果有多个强符号就会报错误;而弱符号主要指未初始化...
GCC, glibc阅读全文
2019-12-10 11:16
⁄ 工业·编程
⁄ 共 1046字
1、制造业对国外工业软件形成长期依赖,关键工艺流程和工业技术数据缺乏长期研发积累,制造业在一些领域呈现技术空心化。我国飞机、船舶、冶金、化工、生物医药、电子信息制造等重点制造领域长期以来习惯用国外工业软件,对于背后的设计原理了解不够,而且缺乏基础工艺研发数据的长期积累,导致基础技术原理数据积累存在明显差距。国外根本不可能出售含有最新创新成果数据的工业软件,能出售的工业软件里面固化的数据往往是上一...
工业软件阅读全文
2019-12-09 10:55
⁄ 工业·编程
⁄ 共 1060字
工业软件可以分成几大类,一是工业设计类,也就是外观造型设计;二是机械设计或产品设计类;三是加工编程类;四是仿真分析类。
一、工业设计类软件
1、犀牛rhino,这个软件是工业设计界最常用的三维建模软件,据说,对于其它三维软件来说,认为很复杂的操作到了犀牛软件却变得轻而易举。
2、alias也是工业设计人员使用的三维软件之一,它的特点就是操作逻辑比较严谨,也偏复杂,但曲面质量比较高,国内使用者不算多。
3、PROE(...
工业软件, 软件工具阅读全文
2019-12-08 10:17
⁄ 工业·编程
⁄ 共 510字
1.memchr检测的是一段内存,strchr检测的是一个字符串 如果一段内存中有0x0的话,显然不能用strchr去查找的。建议看看两个函数的原型
2.strchr会停在\0,memchr不会,看接口就明白了:
NAME
memchr, memrchr - scan memory for a character
SYNOPSIS
#include <string.h>
void *memchr(const void *s, ...
c++, 区别阅读全文
2019-12-07 05:52
⁄ 工业·编程
⁄ 共 76字
未知攻,焉知防?本篇博文将介绍常见攻击思路,思维导图以1.信息收集——>2.外围打点——>3.内网信息收集——>内网权限获取的流程进行说明。
【思维导图】
安全, 网络安全阅读全文
2019-12-06 05:38
⁄ 工业·编程
⁄ 共 979字
最近写个小工具需要依赖openssl的静态lib库,本来是有其它同事编译好的x32和x64版本的lib库,可惜他编译的lib库是用vs2008环境编译的。
我这个新项目使用vs2019开发,所以不能直接引用现有的lib库,只能重新使用vs2019的编译环境再编译一个新的openssl静态库。
首先需要到openssl官网,或者github release页面去下载最新的源码
1)下载openssl源码:
· https://github.com/openssl/openssl/releases
· https://www.openssl.org/...
openssl, visual_studio阅读全文