Reflection Based Libraries to Look Forward ToReflection in C++ as per P2996 ☐ Syntax and examples • Reflection libraries! Python bindings ABI hashing (boost::abi_hash?) A duck-typed std::any (boost::virtual_any?) • Alternatives ways to achieve “reflection” possible! ## Now let's do some actual library design • Automatic python bindings • Automatic type ABI hash • A better std::any with duck typing ## Python bindings ## A fan favorite, and one of the most behavior can be done easily • Customizations are trickier / not DRY We have two potential approaches ## ABI hashing ## Setting the stage - Why is a type's hash useful? • Say you had a unique hash for a0 码力 | 118 页 | 14.33 MB | 1 年前3
1.2.2 GoLLVM 编译探索’ alt=‘OCR图片’/> 第四部分 解决办法 ’ alt=‘OCR图片’/> GoLLVM问题解决 ASM的支持 汇编指令转换 Plan9 -> gnu asm ABI转换: Plan9: no callee save, stack-based GoLLVM 基于C的calling convention save all called-save regs0 码力 | 25 页 | 3.99 MB | 1 月前3
Back to Basics: The structure of a Programthread local • Each thread has its own instance of an object with thread duration ## What is an ABI? • ABI (application binary interface) is the platform-specific specification of how entities defined in conventions for making system calls ## - On Linux, GCC and Clang use the Itanium ABI; On Windows, MSVC uses its own ABI ## Name Mangling • Name mangling refers to the way in which entity names in a TU reflect these addresses • It emits executable code ## • The compiler and the linker must agree on the ABI • Both must understand object code in exactly the same way ## Loading and Running ## • The operating0 码力 | 64 页 | 390.34 KB | 1 年前3
FISCO BCOS 2.7.2 中文文档- 分布式存储:新增支持RocksDB引擎,搭建新链时存储默认采用RocksDB - 分布式存储:新增CRUD接口支持,控制台1.0.3以上版本提供类SQL语句读写区块链数据更新 - 完善ABI解码模块 - 修改预编译合约和RPC接口错误码,统一为负数 - 优化存储模块,增加缓存层,支持配置缓存大小 - 优化存储模块,允许流水线提交区块。可配置[storage].max_capacity控制允许使用的内存空间大小 编译智能合约 . sol的智能合约需要编译成ABI和BIN文件才能部署至区块链网络上。有了这两个文件即可凭借Java SDK进行合约部署和调用。但这种调用方式相对繁琐,需要用户根据合约ABI来传参和解析结果。为此,控制台提供的编译工具不仅可以编译出ABI和BIN文件,还可以自动生成一个与编译的智能合约同名的合约Java类。这个Java类是根据ABI生成的,帮助用户解析好了参数,提供同名的方法。当 运行成功之后,将会在console/contracts/sdk目录生成java、abi和bin目录,如下所示。 # 其它无关文件省略 ```bash |-- abi # 生成的abi目录,存放solidity合约编译生成的abi文件 | |-- Asset.abi | |-- Table.abi |-- bin # 生成的bin目录,存放solidity合约编译生成的bin文件0 码力 | 1422 页 | 91.91 MB | 2 年前3
C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南build -- The CXX compiler identification is GNU 11.1.0 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done - Check for working CXX compiler: /usr/bin/c++ - skipped -- build -- The CXX compiler identification is GNU 11.1.0 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting build -- The CXX compiler identification is GNU 11.1.0 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting0 码力 | 166 页 | 6.54 MB | 2 年前3
FISCO BCOS 2.7.0 中文文档分布式存储:新增支持RocksDB引擎,搭建新链时存储默认采用RocksDB - 分布式存储:新增CRUD接口支持,控制台1.0.3以上版本提供类SQL语句读写区块链数据 ## 更新 - 完善ABI解码模块 - 修改预编译合约和RPC接口错误码,统一为负数 - 优化存储模块,增加缓存层,支持配置缓存大小 - 优化存储模块,允许流水线提交区块。可配置[storage].max_capacity控制允许使用的内存空间大小 编译智能合约 . sol的智能合约需要编译成ABI和BIN文件才能部署至区块链网络上。有了这两个文件即可凭借Java SDK进行合约部署和调用。但这种调用方式相对繁琐,需要用户根据合约ABI来传参和解析结果。为此,控制台提供的编译工具不仅可以编译出ABI和BIN文件,还可以自动生成一个与编译的智能合约同 名的合约Java类。这个Java类是根据ABI生成的,帮助用户解析好了参数,提供同名的方法。 ``` 运行成功之后,将会在console/contracts/sdk目录生成java、abi和bin目录,如下所示。 # 其它无关文件省略 |-- abi # 生成的abi目录,存放solidity合约编译生成的abi文件 | |-- Asset.abi | |-- Table.abi |-- bin # 生成的bin目录,存放solidity合约编译生成的bin文件 |0 码力 | 2538 页 | 212.43 MB | 2 年前3
FISCO BCOS 2.0 中文文档分布式存储:新增支持RocksDB引擎,搭建新链时存储默认采用RocksDB - 分布式存储:新增CRUD接口支持,控制台1.0.3以上版本提供类SQL语句读写区块链数据 ## 更新 - 完善ABI解码模块 - 修改预编译合约和RPC接口错误码,统一为负数 - 优化存储模块,增加缓存层,支持配置缓存大小 - 优化存储模块,允许流水线提交区块。可配置[storage].max_capacity控制允许使用的内存空间大小 3. 编译智能合约 .sol的智能合约需要编译成ABI和BIN文件才能部署至区块链网络上。有了这两个文件即可凭借Java SDK进行合约部署和调用。但这种调用方式相对繁琐,需要用户根据合约ABI来传参和解析结果。为此,控制台提供的编译工具不仅可以编译出ABI和BIN文件,还可以自动生成一个与编译的智能合约同名的合约Java类。这个Java类是根据ABI生成的,帮助用户解析好了参数,提供同名的方法。当 contract 运行成功之后,将会在console/contracts/sdk目录生成java、abi和bin目录, 如下所示。 # 其它无关文件省略 |-- abi # 生成的abi目录,存放solidity合约编译生成的abi文件 | |-- Asset.abi | |-- Table.abi |-- bin # 生成的bin目录,存放solidity合约编译生成的bin文件0 码力 | 2649 页 | 201.08 MB | 2 年前3
FISCO BCOS 2.9.0 中文文档分布式存储:新增支持RocksDB引擎,搭建新链时存储默认采用RocksDB - 分布式存储:新增CRUD接口支持,控制台1.0.3以上版本提供类SQL语句读写区块链数据 ## 更新 - 完善ABI解码模块 - 修改预编译合约和RPC接口错误码,统一为负数 - 优化存储模块,增加缓存层,支持配置缓存大小 - 优化存储模块,允许流水线提交区块。可配置[storage].max_capacity控制允许使用的内存空间大小 编译智能合约 . sol的智能合约需要编译成ABI和BIN文件才能部署至区块链网络上。有了这两个文件即可凭借Java SDK进行合约部署和调用。但这种调用方式相对繁琐,需要用户根据合约ABI来传参和解析结果。为此,控制台提供的编译工具不仅可以编译出ABI和BIN文件,还可以自动生成一个与编译的智能合约同 名的合约Java类。这个Java类是根据ABI生成的,帮助用户解析好了参数,提供同名的方法。 contract 运行成功之后,将会在console/contracts/sdk目录生成java、abi和bin目录,如下所示。 # 其它无关文件省略 |-- abi # 生成的abi目录,存放solidity合约编译生成的abi文件 | |-- Asset.abi | |-- Table.abi |-- bin # 生成的bin目录,存放solidity合约编译生成的bin文件 |0 码力 | 2585 页 | 166.09 MB | 2 年前3
FISCO BCOS 3.0.0-rc2 中文文档连MySQL 分布式存储:新增支持RocksDB引擎,搭建新链时存储默认采用 RocksDB 分布式存储:新增CRUD接口支持,控制台1.0.3以上版本提供类SQL语 句读写区块链数据 更新 完善ABI解码模块 修改预编译合约和RPC接口错误码,统一为负数 优化存储模块,增加缓存层,支持配置缓存大小 优化存储模块,允许流水线提交区块。可配置[storage].max_capacity 控制允许使用的内存空间大小 ~/fisco/console/contracts/solidity下。 3. 编译智能合约 .sol的智能合约需要编译成ABI和BIN文件才能部署至区块链网络上。有了这 两个文件即可凭借Java SDK进行合约部署和调用。但这种调用方式相对繁 琐,需要用户根据合约ABI来传参和解析结果。为此,控制台提供的编译工 具不仅可以编译出ABI和BIN文件,还可以自动生成一个与编译的智能合约同 contract Asset { // 创建表 名的合约Java类。这个Java类是根据ABI生成的,帮助用户解析好了参数,提 供同名的方法。当应用需要部署和调用合约时,可以调用该合约类的对应方 法,传入指定参数即可。使用这个合约Java类来开发应用,可以极大简化用 户的代码。 运行成功之后,将会在console/contracts/sdk目录生成java、abi和bin目录, 如下所示。 # 创建工作目录~/fisco mkdir0 码力 | 2569 页 | 166.06 MB | 2 年前3
FISCO BCOS 2.8.0 中文文档连MySQL 分布式存储:新增支持RocksDB引擎,搭建新链时存储默认采用 RocksDB 分布式存储:新增CRUD接口支持,控制台1.0.3以上版本提供类SQL语 句读写区块链数据 更新 完善ABI解码模块 修改预编译合约和RPC接口错误码,统一为负数 优化存储模块,增加缓存层,支持配置缓存大小 优化存储模块,允许流水线提交区块。可配置[storage].max_capacity 控制允许使用的内存空间大小 ~/fisco/console/contracts/solidity下。 3. 编译智能合约 .sol的智能合约需要编译成ABI和BIN文件才能部署至区块链网络上。有了这 两个文件即可凭借Java SDK进行合约部署和调用。但这种调用方式相对繁 琐,需要用户根据合约ABI来传参和解析结果。为此,控制台提供的编译工 具不仅可以编译出ABI和BIN文件,还可以自动生成一个与编译的智能合约同 contract Asset { // 创建表 名的合约Java类。这个Java类是根据ABI生成的,帮助用户解析好了参数,提 供同名的方法。当应用需要部署和调用合约时,可以调用该合约类的对应方 法,传入指定参数即可。使用这个合约Java类来开发应用,可以极大简化用 户的代码。 运行成功之后,将会在console/contracts/sdk目录生成java、abi和bin目录, 如下所示。 # 创建工作目录~/fisco0 码力 | 2534 页 | 212.43 MB | 2 年前3
共 426 条
- 1
- 2
- 3
- 4
- 5
- 6
- 43













