资源简介
学习RabbitMQ为了搭建运行环境,erlang的下载实在太慢,先放在这里,供大家下载。 这个是source file,要编译的。 不能用于window,window的我另外上传
代码片段和文件信息
/*
* %CopyrightBegin%
*
* Copyright Ericsson AB 1996-2016. All Rights Reserved.
*
* Licensed under the Apache License Version 2.0 (the “License“);
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing software
* distributed under the License is distributed on an “AS IS“ BASIS
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* %CopyrightEnd%
*/
#ifdef HAVE_CONFIG_H
# include “config.h“
#endif
#include “sys.h“
#include “erl_sys_driver.h“
#include “erl_vm.h“
#include “global.h“
#include “hash.h“
#include “atom.h“
#define ATOM_SIZE 3000
IndexTable erts_atom_table; /* The index table */
#include “erl_smp.h“
static erts_smp_rwmtx_t atom_table_lock;
#define atom_read_lock() erts_smp_rwmtx_rlock(&atom_table_lock)
#define atom_read_unlock() erts_smp_rwmtx_runlock(&atom_table_lock)
#define atom_write_lock() erts_smp_rwmtx_rwlock(&atom_table_lock)
#define atom_write_unlock() erts_smp_rwmtx_rwunlock(&atom_table_lock)
#if 0
#define ERTS_ATOM_PUT_OPS_STAT
#endif
#ifdef ERTS_ATOM_PUT_OPS_STAT
static erts_smp_atomic_t atom_put_ops;
#endif
/* Functions for allocating space for the ext of atoms. We do not
* use malloc for each atom to prevent excessive memory fragmentation
*/
typedef struct _atom_text {
struct _atom_text* next;
unsigned char text[ATOM_TEXT_SIZE];
} AtomText;
static AtomText* text_list; /* List of text buffers */
static byte *atom_text_pos;
static byte *atom_text_end;
static Uint reserved_atom_space; /* Total amount of atom text space */
static Uint atom_space; /* Amount of atom text space used */
/*
* Print info about atom tables
*/
void atom_info(fmtfn_t to void *to_arg)
{
int lock = !ERTS_IS_CRASH_DUMPING;
if (lock)
atom_read_lock();
index_info(to to_arg &erts_atom_table);
#ifdef ERTS_ATOM_PUT_OPS_STAT
erts_print(to to_arg “atom_put_ops: %ld\n“
erts_smp_atomic_read_nob(&atom_put_ops));
#endif
if (lock)
atom_read_unlock();
}
/*
* Allocate an atom text segment.
*/
static void
more_atom_space(void)
{
AtomText* ptr;
ptr = (AtomText*) erts_alloc(ERTS_ALC_T_ATOM_TXT sizeof(AtomText));
ptr->next = text_list;
text_list = ptr;
atom_text_pos = ptr->text;
atom_text_end = atom_text_pos + ATOM_TEXT_SIZE;
reserved_atom_space += sizeof(AtomText);
VERBOSE(DEBUG_SYSTEM(“Allocated %d atom space\n“ATOM_TEXT_SIZE));
}
/*
* Allocate string space within an atom text segment.
*/
static byte*
atom_text_alloc(int bytes)
{
byte *res;
ASSERT(bytes <= MAX_ATOM_SZ_LIMIT);
if (atom_text_pos + bytes >= atom_text_end) {
more_atom_space();
}
res = atom_text_pos;
atom_text_pos += bytes;
atom_space += bytes;
return res;
相关资源
- otp_win64_20.3
- otp_src_21.2.tar.gz
- otp_src_19.1.tar.gz
- RabbitMQ+erlang
- erlang_win_64位安装包
- erlang64位win安装20.3
- Erlang21.2安装包 Linux版
- otp_win64_20.2.exe
- Erlang趣学指南
- otp_win64_22.0.zip
- erlang高性能集群
- 动态口令OTP:One Time Password 算法源码
- Erlang B公式计算器
- RJ45最全封装集成库AD含市面所有型号
- footprint maker--FPM_0.080
- MultiCharts内建函数中文说明
- 爱尔兰损失B表计算
- 所有电解电容贴片封装
- OATH动态口令令牌标准算法
-
potpla
yer zune皮肤第8版 - 基于Erlang的gen_tcp聊天室代码功能完整
- Windows下使用NIF扩展Erlang完整
- esl-erlang-compat-R14B-1.el6.noarch.rpm
- erlang聊天室源码
- hotplug 热插拔 测试程序
- Erlang 微分进化算法
- erlang启动多节点,跨节点调用函数
- BOTP单据转换自定义公式
-
potpla
yer直播源.7z - erlang使用post方式发送json数据
评论
共有 条评论