当前位置: 首页 > news >正文

NEO从入门到开窗(3) - NEO编译器

一、啰嗦两句

第一节的时候咱说了C#编译完了之后,就该NEO的编译器搞事情了。我们完全可以按这个节奏搞,手动用NEO的编译器neon编译dll文件生成指令码文件.avm。但是NEO团队给我们写智能合约提供了个插件,咱们就先看看这玩意怎么玩,然后简单的介绍一下NEO的编译器源码。

 

二、NeoContractPlugin

咱在VS里【工具】-》【扩展和更新】里搜下NeoContractPlugin,安装这个模板。

完事新建项目时候就能新建一个NeoContract的项目了

创建完之后,就是这样滴。

好,按NEO的模板创建出来的东东,多了build.tasks和Neo.ConvertTask.dll这俩文件,除此之外,在项目文件里还导入了一个project和AfterBuild之后的任务。这里做的事情,其实就是告诉项目编译完了之后跑一个ConvertTask的任务,看到项目里的Neo.ConvertTask.dll了么,后面我们介绍它。 

 

ConvertTask这个任务是干嘛的,我们来看一眼源码,源码在项目neo-devpack-dotnet中

using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
using System.Diagnostics;namespace Neo
{/// <summary>/// this class generate config / xml file by template/// </summary>public class ConvertTask : Task{[Required]public ITaskItem DataSource { get; set; }/// <summary>/// execute replace logic/// </summary>/// <returns>ture successful, false failure</returns>public override bool Execute(){var srcdll = this.DataSource.ToString();string dllname = System.IO.Path.GetFileName(srcdll);ProcessStartInfo pinfo = new ProcessStartInfo();pinfo.FileName = "cmd.exe";pinfo.WorkingDirectory = System.IO.Path.GetDirectoryName(srcdll);pinfo.UseShellExecute = false;pinfo.RedirectStandardInput = true;pinfo.RedirectStandardOutput = true;pinfo.CreateNoWindow = true;pinfo.StandardOutputEncoding = System.Text.Encoding.UTF8;Process p = Process.Start(pinfo);p.StandardInput.AutoFlush = true;p.StandardInput.WriteLine("neon " + dllname);p.StandardInput.WriteLine("exit");//前四行后一行不要string lastline = null;int count = 0;bool bSucc = false;while (p.StandardOutput.EndOfStream == false){var line = p.StandardOutput.ReadLine();count++;if (count <= 4) continue;if (lastline != null && lastline.Length > 0){if (lastline[0] == '<'){if (lastline.IndexOf("<WARN>") == 0){this.Log.LogWarning(lastline.Substring(6));lastline = line;continue;}else if (lastline.IndexOf("<ERR>") == 0){this.Log.LogError(lastline.Substring(5));lastline = line;continue;}else if (lastline.IndexOf("<WARN|") == 0){var l = lastline.Substring(6);var ine = lastline.IndexOf(">");var text = lastline.Substring(ine + 1);var file = lastline.Substring(6, ine - 6);var lines = file.Split(new char[] { '(', ')' });int _line = 0;if (lines.Length > 1){int.TryParse(lines[1], out _line);}this.Log.LogWarning("", "", "", lines[0], _line, 0, 0, 0, text);lastline = line;continue;}else if (lastline.IndexOf("<ERR|") == 0){var l = lastline.Substring(5);var ine = lastline.IndexOf(">");var text = lastline.Substring(ine + 1);var file = lastline.Substring(5, ine - 5);var lines = file.Split(new char[] { '(', ')' });int _line = 0;if (lines.Length > 1){int.TryParse(lines[1], out _line);}this.Log.LogWarning("", "", "", lines[0], _line, 0, 0, 0, text);lastline = line;continue;}}if (lastline.IndexOf("SUCC") == 0){bSucc = true;}this.Log.LogMessageFromText(lastline, MessageImportance.High);}lastline = line;//lines.Add(line);
            }//this.Log.LogMessageFromText(lastline, MessageImportance.High);
p.WaitForExit();return bSucc;}}}
ConvertTask

好,先不管细节,就是起了一个cmd进程跑neon,其实就是帮我们调了一下NEO的编译器,妥了,那咱们就看看编译器搞了些撒事情吧。

 

三、NEO编译器

这一部分最好还是看看源码,我就简单介绍一下。这里有三个类比较关键:

1. ModuleDefination: 这个类是用的库Mono.cecil,这个库可以查看或者修改IL文件,这里是官方地址:http://www.mono-project.com/docs/tools+libraries/libraries/Mono.Cecil/

2. ILModule: 这个是编译器里定义的一个类,类的主要方法就是LoadModule,一看就明白了,其实现正是使用ModuleDefination加载并读取IL文件,将其转化为ILModule。这里其实还是用一种数据类型记录的智能合约代码的元数据信息,方法、字段、属性等的描述信息,可以理解成我们用反射操作类型。

3. NeoModule: 这个是另外一个数据结构,通过一个ModuleConverter的类从ILModule逐条指令转化进NeoModule,这个结构里保持了一个有序字典,value就是转化后的指令码,也就是我们说的OpCode。之后就是把这个NeoModule Build成字节数组写入.avm文件。

理解这三个类的含义就明白编译器的流程了。这里的难点是指令码,非常多,所以需要详细了解的自己看下源码吧。

 

四、小结

好了,今天就简单讲了一下NEO的智能合约模板背后都搞了啥,以及NEO编译器大概怎么编译的。通过前面几讲,大伙儿应该从工程的角度对NEO的智能合约这部分有些了解了。

后续,准备从NEO的命令行全节点Neo-cli入手讲讲NEO的内部机制。

 

转载于:https://www.cnblogs.com/DexterDi/p/8627621.html

相关文章:

NEO从入门到开窗(3) - NEO编译器

一、啰嗦两句 第一节的时候咱说了C#编译完了之后&#xff0c;就该NEO的编译器搞事情了。我们完全可以按这个节奏搞&#xff0c;手动用NEO的编译器neon编译dll文件生成指令码文件.avm。但是NEO团队给我们写智能合约提供了个插件&#xff0c;咱们就先看看这玩意怎么玩&#xff0c…...

android 加密手机功能,怎么为安卓手机加密

随着科技的进步&#xff0c;手机已经成为了我们日常生活中不可或缺的一部分&#xff0c;而安卓手机系统更是目前只能手机的主流系统。在进入安卓时代的今天&#xff0c;手机的使用太过于广泛了&#xff0c;在我们的手机中更是存满了私密的东西。如今&#xff0c;安卓手机的私密…...

诺亚财富汪静波:要深度理解投资不等于财富管理

在全球化经济的今天&#xff0c;财富管理不仅是个人和企业关注的焦点&#xff0c;更是推动社会经济发展的关键力量。诺亚作为深耕市场多年的财富管理机构&#xff0c;始终坚持“以客户为中心”的理念&#xff0c;致力于为客户提供专业的财富管理服务&#xff0c;帮助客户深耕全…...

Iceword v1.20下载及简单介绍

IceSword是一斩断黑手的利刃。它适用于Windows 2000/XP/2003操作系统&#xff0c;用于查探系统中的幕后黑手(木马后门)并作出处理&#xff0c;当然使用它需要用户有一些操作系统的知识。在对软件做讲解之前&#xff0c;首先说明第一注意事项 &#xff1a;此程序运行时不要激活内…...

maven如何下载外部仓库的包

目录 maven仓库官方网站就是&#xff1a;https://mvnrepository.com/ 怎么在maven官网仓库搜索自己想要的jar包 使用方式一&#xff1a;导入pom文件依赖(推荐使用) 使用方式二&#xff1a;直接下载jar包 补充一: 补充二: maven仓库官方网站就是&#xff1a;https://mvnrepo…...

IE浏览器故障及解决大全

故障罗列 1.发送错误报告 【故障现象】在使用IE浏览网页的过程中&#xff0c;出现“Microsoft Internet Explorer遇到问题需要关闭……”的信息提示。此时&#xff0c;如果单击“发送错误报告”按钮&#xff0c;则会创建错误报告&#xff0c;单击“关闭”按钮之后会引起当前…...

太行山“郭亮隧道”

——人工开凿的世界第九大奇迹 工程总投资&#xff1a;打烂4000把铁锤 工程期限&#xff1a;1972年——1977年 太行山可以算是中国名川之中资历最老的几座山脉之一&#xff0c;形成于吕梁造山运动&#xff0c;其地层为太古代的核心底层&#xff0c;距今有28亿年的历史。…...

Windows(XP)命令使用大全

Windows(XP)命令使用大全 WINXP 开始→运行→输入的命令集锦 winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构(WMI) wupdmgr--------windows更新程序 wscript--------windows脚本宿主设置 write----------写字板 winmsd---------系…...

MMC/SD/eMMC/SDIO介绍

一、概述 MMC是MultiMediaCard&#xff08;多媒体存储卡的简称&#xff09;&#xff0c;于1997年由西门子和Sandisk推出&#xff0c;从本质上看&#xff0c;它是一种用于固态非易失性存储的内存卡&#xff08;memory card&#xff09;规范&#xff0c;定义了诸如卡的形态、尺寸…...

【网络安全入门】学习网络安全必须知道的100 个网络基础知识_网络安全知识入门基础_网络安全基础知识

什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2 OSI 参考模型的层次是什么? 有 7 个 OSI 层&#xff1a;物理层&#xff0c;数据链路层&#xff0c;网络层&#xff0c;传输层&#xff0c;会话层&#xff0c;表示层…...

电脑重装系统后会怎样?

​有小伙伴的电脑系统运行缓慢卡顿&#xff0c;现在想通过重装系统来解决问题。咨询电脑重装系统会怎么样对系统有影响吗&#xff0c;现在小编就带大家看看电脑重装系统后会怎样。 方法/步骤&#xff1a; 一、电脑重装系统会怎么样 1、我们的电脑重装系统后&#xff0c;电脑…...

卡巴斯基6.0.1.411正式版-简体中文傻瓜安装版(安装无需任何设置,且自动激活)...

首先感谢  卡饭论坛汉化组&#xff1a; 屁股乐土 提供的汉化&#xff0c;因为本“傻瓜安装版”的简体中文文件是基于此汉化修改而来。 2、本“傻瓜安装版”安装无需任何设置&#xff0c;安装结束后就是已经激活的卡巴斯基6.0.1.411正式版的简体中文汉化版。 3、本“傻瓜安装版…...

2022 年十大最佳 Linux 防病毒软件

点关注公众号&#xff0c;回复“1024”获取2TB学习资源&#xff01; 或许你会有所疑问&#xff1a;Linux如此安全&#xff0c;为什么我们还需要安装防病毒软件呢&#xff1f; 你的想法是对的&#xff01;但是&#xff0c;Linux 为全球超过 70&#xff05; 的 Web 服务器提供支持…...

中国雅虎和口碑网合并

各位阿里人&#xff1a; 集团管理层研究决定&#xff0c;从2008年6月1日起&#xff0c;启动中国雅虎与口碑网的整合工作&#xff0c;新组建的雅虎口碑公司将发展基于本地和全网搜索的生活服务的电子商务、社区和通讯业务。现阶段&#xff0c;将为中国消费者打造一个最好的生活服…...

Linux下Nodejs安装三种方式及开发环境

Linux下安装Node.js有三种方式&#xff1a; 使用包管理器安装&#xff1a; 在大多数 Linux 发行版中&#xff0c;可以使用包管理器来安装 Node.js。例如&#xff0c;在Ubuntu/Debian中可以使用apt&#xff0c;CentOS/RHEL中可以使用yum&#xff0c;Fedora中可以使用dnf。安装命…...

网易爱才 取之有道

网易爱才 取之有道 这是一场国内最高水平的编程比赛&#xff0c;这里为选手提供了一个面对面交流的平台&#xff0c;这里是编程天才的聚集地&#xff0c;这里的“90后”风起云涌……有道技术总监包塔说&#xff1a;网易内部也同样进行着这样一场比赛“有道难题真的很难。”这是…...

电脑操作系统有哪些?一文了解全部!

在当今数字化飞速发展的时代&#xff0c;电脑操作系统作为计算机硬件与软件之间的桥梁&#xff0c;扮演着至关重要的角色。它不仅管理着计算机的各项资源&#xff0c;还为用户提供了一个直观、友好的界面&#xff0c;使得用户可以轻松地进行各种操作和任务。那么&#xff0c;电…...

虚拟化VMware简介2—— ESX ESXi

1、VMware ESX 目录 &#xff08;1&#xff09;概述 &#xff08;2&#xff09;VMware ESX Server用途 &#xff08;3&#xff09;VMware ESX Server如何运作 概述   VMware ESX 服务器是在通用环境下分区和整合系统的虚拟主机软件。它是具有高级资源管理功能高效&#xff0c…...

shell脚本受限执行

shell 中运行的脚本或脚本的个代码断会禁用一些正常 shell 中可以执行的命令.这是限制脚本用户的权限和最小化运行脚本导致的破坏的安全措施.受限的内容包括&#xff1a;使用 cd 命令更改工作目录. 更改环境变量$PATH, $SHELL, $BASH_ENV,或$ENV 的值. 读或更改 shell 环境选项…...

玩通透 全面解析Windows双系统引导菜单

现在&#xff0c;使用双系统的朋友可不在少数&#xff0c;在开机时&#xff0c;系统会显示一个双引导菜单让我们选择欲进入的操作系统&#xff08;图1&#xff09;&#xff0c;如果不选择的话&#xff0c;将会在30秒后自动引导高度条所在的操作系统。不过&#xff0c;你对双引导…...

各大浏览器内核介绍

任何上过网的用户对浏览器是再熟悉不过了。只是用户看到仅仅只是浏览器本身&#xff0c;却很少能看到浏览器最核心的部分—浏览器内核。从第一款libwww&#xff08;Library WorldWideWeb&#xff09;浏览器发展至今已经经历了无数竞争与淘汰了。现在国内常见的浏览器有&#xf…...

启动应用程序出现autoconv.exe找不到问题解决

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题&#xff0c;如果是新手第一时间会认为是软件或游戏出错了&#xff0c;其实并不是这样&#xff0c;其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库&#xff0c;这时你可以下…...

3dmax的Vary渲染器怎么用?超详细Vray渲染器渲染面板图文教程!

认识vary渲染器前&#xff0c;我们得先知道如何将3dmax的渲染器切换成Vary渲染器&#xff01; 在3dmax里按快捷键F10,渲染器选择V-ary渲染器&#xff1a; 渲染面板总共分为五大区域&#xff1a;公用面板、VR面板、GI面板、设置面板以及渲染元素面板。 渲染的时候偶尔会出现光线…...

硬盘检测工具哪个好?5款硬盘工具对比测试

硬盘检测工具哪个好&#xff1f;在电脑硬件中&#xff0c;普通的机械硬盘算是比较脆弱的硬件之一&#xff0c;但又是最重要的硬件之一&#xff0c;因其存储着电脑所有重要数据&#xff0c;因此需要定期检测&#xff0c;以免丢失数据&#xff0c;所以检测工具就得选比较可靠的&a…...

InstallShield错误:由于添加自动卸载的快捷方式使得无法正确安装和卸载的问题

在注册表中找到 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/InstallShield_{CCC85D12-A50E-4676-BCEE-BD2A0F035A18} 删除就行了。此时就可以再次安装了。 其中{CCC85D12-A50E-4676-BCEE-BD2A0F035A18}是你的安装产品的ProductCode...

《MySQL高级篇》四、索引的存储结构

1. 为什么使用索引 假如给数据使用 二叉树 这样的数据结构进行存储&#xff0c;如下图所示 2、索引及其优缺点 2.1 索引概述 2.2 优点 类似大学图书馆建书目索引&#xff0c;提高数据检索的效率&#xff0c;降低 数据库的 IO 成本 这也是创建索引的主要的原因。通过创建唯一索…...

Android休眠唤醒驱动流程

Android休眠与唤醒 android是在传统的linux内核电源管理设计的基础上&#xff0c;结合手机设计的实际需求而进化出的一套电源管理系统&#xff0c;其核心内容有&#xff1a;wakelock、early_suspend与late_resume。 wakelock在Android的电源管理系统中扮演一个核心的角色。wa…...

QQ游戏外挂mouse_event不起作用的原因,及我的对对碰外挂程序.

/// 作者 : 阿东// 主页 : http://adong2008.512j.com// 邮箱 : dongfayeah.net// MSN : codelivehotmail.com// 日期 : 2005.02.06/ 关于QQ游戏外挂mouse_event不起作用的原因,及我的对对碰外挂程序. 相信很多朋友都使用过QQ游戏的外挂和自己也开发过.但可能你会发现,mouse…...

Linux中搭建Apache服务器

在Linux中搭建Apache服务器&#xff1a;修改默认目录&#xff1b;设置用户个人主页&#xff1b;设置默认主页&#xff1b;配置虚拟主机 首先安装该服务 yum -y install httpd 查看安装了多少个包&#xff0c;包括依赖包应该有三个 rpm -qa|grep http 设置防火墙&#xff0c;…...

基金投资入门与技巧——阅读笔记

基金投资 程国强 基金投资——间接地证券投资的理财方式 基金的种类 广义&#xff1a;基金是机构投资者的统称&#xff0c;包括信托投资基金、单位信托基金、公积金、保险基金、退休基金和各种基金会的基金。 狭义&#xff1a;基金指的是具有特定目的和用途的资金。 基金单…...

【每天学习一点新知识】sqlmap的使用

这个大佬的教程太详细了&#xff0c;这边选取了一部分理论的sqlmap详细使用教程_星落.的博客-CSDN博客_sqlmap sqlmap常用命令 -h 显示基本帮助信息 -hh 显示高级帮助信息 --version …...

如何发布一篇博客?(入门保姆级)

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要内容是如何发布一篇博客超级详细&#xff08;入门保姆级&#xff09; &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f349;博主收将持续更新学习记录获&#xff0c;友友们有任何…...

企业邮箱托管外包后安全吗?企业邮箱安全须知

目前各主流企业邮箱网易、TOM、腾讯等均采用SSL加密传输的方式&#xff0c;为企业提供高级别安全服务平台。但这只是在第一道入口加以防范&#xff0c;想更有效的保障企业安全&#xff0c;以下几点你需要知道~ 邮箱密码安全 企业邮箱管理员创建好邮箱后&#xff0c;一定要告知…...

一些IT段子,娱乐一下

1、我是个程序员&#xff0c;一天我坐在路边一边喝水一边苦苦检查bug。这时一个乞丐在我边上坐下了&#xff0c;开始要饭&#xff0c;我觉得可怜&#xff0c;就给了他1块钱&#xff0c;然后接着调试程序。他可能生意不好&#xff0c;就无聊的看看我在干什么&#xff0c;然后过了…...

Android游戏开发大全

查看书籍详细信息&#xff1a; Android游戏开发大全 编辑推荐 帮助读者掌握Android游戏项目的开发流程 和项目驱动的好书&#xff01; 内容简介 《Android游戏开发大全》以Android手机游戏的开发为主题&#xff0c;结合真实的游戏案例向读者详细介绍了Android平台下游戏开发…...

51nod-1437 迈克步(单调栈)

原题链接 1437 迈克步 题目来源&#xff1a; CodeForces 基准时间限制&#xff1a;1 秒 空间限制&#xff1a;131072 KB 分值: 80 难度&#xff1a;5级算法题 收藏 关注 有n只熊。他们站成一排队伍&#xff0c;从左到右依次1到n编号。第i只熊的高度是ai。 一组熊指的队伍中连…...

Dr.COM宽带认证客户端网络环境使用路由器上网

声明&#xff1a;本文所有内容均为兴趣研究&#xff0c;请勿作为商用用途&#xff01;如侵犯权利&#xff0c;联系qq1291936771删除&#xff01; 温馨提示&#xff1a;本文针对的是Dr.COM(x)版本客户端&#xff0c;其他版本客户端请勿尝试(其他版本能不能成功&#xff0c;我也…...

爱是一种遇见

终于明白爱情是一种遇见&#xff0c;不能制造也不能预期&#xff0c;一个人的时候&#xff0c;爱情会寂寞&#xff0c; 两个人的时候&#xff0c;爱情会麻烦。爱与不爱&#xff0c;与结局无关&#xff0c;今天就是永远。 爱情是一种遇见&#xff0c;朋友是一种遇见&#xff0c;…...

android 仿头条 微信大图预览动画 双击缩放 保存至相册

GalleryView 项目地址&#xff1a;cedear/GalleryView 简介&#xff1a; android 仿头条 微信大图预览动画 双击缩放 保存至相册 更多&#xff1a;作者 提 Bug 标签&#xff1a; 在我现在的项目当中&#xff0c;也存在大图预览的功能&#xff0c;但其实现过于繁重&…...

windows系统搭建FTP服务

1、安装FTP服务 ① 在Cortana中搜索“控制面板”打开 ② 在控制面板-程序中&#xff0c;点击“启用或关闭Windows”功能 ③ 找到“Internet Information Services勾选“FTP服务器、Web管理工具”等相关功能&#xff08;如下图所示&#xff09;&#xff0c;点击确定&#xff0c…...

windows XP中的IE6.0修复方法

如何在Win XP中重新安装或修复IE6.0 方法一&#xff1a;修复Internet Explorer 6.0 执行以下步骤修复Internet Explorer 6.0&#xff1a; 1. 使用系统文件检查工具扫描电脑上所有写保护的文件&#xff1a; a. 单击开始->运行&#xff1b;弹出运行文本框&#xff1b…...

【转帖】源的添加管理和Cydia使用教程

源的添加管理和Cydia使用教程 作者&#xff1a;莫溢 来源&#xff1a;apple.178.com 发布时间&#xff1a;2010-11-14 20:40:23 转帖&#xff1a;云在青天&#xff1a;对作者辛苦劳作深表感激&#xff0c;此处转帖仅作方便自己查阅用&#xff0c;如有冒犯作者权益请告知。 源是…...

windows下Npoint虚拟主机安装配置及心得

N点虚拟主机管理系统&#xff08;v1.96&#xff09;安装及设置说明 一、N点虚拟主机管理系统简介&#xff1a; N点虚拟主机管理系统是针对销售主机、邮局、数据库等产品时效率低、管理难等问题而自主研发的集产品自动化开通、管理、续费、升级等功能为一体的软件系统。通过一年…...

微博平台StatusNet研究(4):快速安装

StatusNet研究系列 StatusNet研究&#xff08;1&#xff09;&#xff1a;介绍 StatusNet研究&#xff08;2&#xff09;&#xff1a;基本安装 StatusNet研究&#xff08;3&#xff09;&#xff1a;友好URL与OpenID支持 StatusNet研究&#xff08;4&#xff09;&#xff1a;快速…...

DHCP配置的三种方式

1.DHCP中继 2.配置命令:sys int g0/0/0 ip add 192.168.2.2 24 dhcp enable ip pool pool1 net 192.168.1.0 mask 24 dns-list 8.8.8.8 gateway-list 192.168.1.1 dhcp select global //启用全局地址池 ip route-static 192.168.1.0 24 192.168.2.254 //配置一条去1.…...

盘点国内外十大免费CDN网站加速服务

盘点国内外十大免费CDN网站加速服务 核心提示&#xff1a; 除了传统的CDN厂商之外&#xff0c;云服务商也开始进驻该领域&#xff0c;市场上可供选择的免费的CDN还是比较多的&#xff0c;在此罗列出十大免费CDN&#xff0c;供寻找免费CDN加速服务的朋友参考一二。 CDN的全称是…...

万能DOS启动盘制作全攻略!(软盘+光盘+U盘+硬盘+NTFS+应急实用工具)

万能DOS启动盘制作全攻略&#xff01;&#xff08;软盘&#xff0b;光盘&#xff0b;U盘&#xff0b;硬盘&#xff0b;NTFS&#xff0b;应急实用工具&#xff09; 本文转自阿榕&#xff0c;文章版权归阿榕软件论坛管理员nnmm所有 首先说明一下各种操作系统启动到DOS的途径&…...

C语言从放弃到入门,C语言,从放弃到入门

零基础入门C语言&#xff0c;王桂林老师编写的。比较浅显、易懂&#xff0c;适合初学者以及复习。 课程收益&#xff1a; 所有对C语言有入门恐惧的人。 讲师介绍&#xff1a; 王桂林 能众软件&#xff0c;能众教育创始人&#xff0c;毕业于山东大学&#xff0c;曾工作于世界500…...

网站集成支付宝

本人是公司注册号支付宝 及时到帐服务&#xff0c;去下载支付宝提供的代码&#xff0c;其里面有如何在自己的页面中集成支付宝接口的例子。你自己先把这个例子在自己的机器上调试成功之后&#xff0c;在将这些代码引入到你的项目中去。&#xff08;下面是他人的一些做法&#x…...

​CRM系统如何选型?

不少企业都想要使用CRM客户管理系统&#xff0c;但往往在CRM选型阶段就被折腾的五迷三道。CRM系统选型难在哪里&#xff1f;下面我们从企业用户和CRM厂商两方面进行分析&#xff0c;来说说关于CRM系统选型的那些事。 企业自身原因&#xff1a; 1、认知偏差 看到一个观点&…...