Opcodes生成器

查看生成的Opcode,vld扩展下载地址 http://pecl.php.net/package/vld

rz
tar zxvf vld-0.13.0.tgz

cd vld-0.13.0
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
vim /etc/php.ini (add extension="/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/vld.so" )
php-fpm reload
php test.php | grep vld(查看phpinfo())
php -dvld.active=1 test1.php

图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要动态生成 DLL,可以使用 C# 中的 System.Reflection.Emit 命名空间。以下是一个简单的示例代码,可以动态生成一个简单的 DLL: ```csharp using System; using System.Reflection; using System.Reflection.Emit; class Program { static void Main(string[] args) { // 创建程序集 AssemblyName assemblyName = new AssemblyName("DynamicAssembly"); AssemblyBuilder assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave); // 创建模块 ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule("DynamicModule", "DynamicAssembly.dll"); // 创建类型 TypeBuilder typeBuilder = moduleBuilder.DefineType("DynamicType", TypeAttributes.Public); // 添加方法 MethodBuilder methodBuilder = typeBuilder.DefineMethod("HelloWorld", MethodAttributes.Public | MethodAttributes.Static, typeof(void), null); ILGenerator ilGenerator = methodBuilder.GetILGenerator(); ilGenerator.Emit(OpCodes.Ldstr, "Hello, world!"); ilGenerator.Emit(OpCodes.Call, typeof(Console).GetMethod("WriteLine", new Type[] { typeof(string) })); ilGenerator.Emit(OpCodes.Ret); // 完成类型 Type dynamicType = typeBuilder.CreateType(); // 调用方法 dynamicType.GetMethod("HelloWorld").Invoke(null, null); // 保存程序集 assemblyBuilder.Save("DynamicAssembly.dll"); } } ``` 上面的代码会生成一个名为 DynamicAssembly.dll 的 DLL,并在其中动态创建一个名为 DynamicType 的类型,该类型有一个名为 HelloWorld 的方法,该方法会输出字符串 "Hello, world!"。 请注意,上面的代码只是一个示例,实际中可能需要更多的代码来动态生成更复杂的 DLL。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值