VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 58319|回复: 125

Vb内嵌汇编+标准Dll插件 开源

  [复制链接]
 楼主| 发表于 2012-5-1 17:05:15 | 显示全部楼层 |阅读模式
本帖最后由 19900603 于 2012-5-1 23:58 编辑

经过几天的完善 终于做好了。。 内嵌汇编 和标准Dll 能用了
还处理了 代码着色的功能 和链接 Obj 和 Lib 的功能
各种标记都可以在插件中设置 显示颜色设置没加 想要的自己加吧
增加链接功能

'#LINK <..\VbAux.Obj>
当库文件在工程目录下时可以用 ..代表当前路径

标准Dll 导出函数的使用

'#EXPORT DLLMain
'#EXPORT Text
'#EXPORT TestingByVal
'#EXPORT TestingByRef
目前 链接功能只搜索 Asm专用模块内  Dll导出函数声明全工程搜索  Asm 内嵌处理 只搜索Asm专用模块
以上功能 都是在网络上查找资料摸索完成
至于  LINK EXPORT 等标记用不惯的 我还给你们准备了 设置功能 这个可以随便自己改的
插件内的编译按钮只为测试IDE接口用的 直接菜单-文件编译即可  菜单中的 编译标准Dll 没用。。测试的
时间紧凑 每天我只有几个小时来写代码 代码有不如意的地方还请海涵

那个 权限和金钱全免 各位客官随赏吧
恩 再说一句  各位如果能把插件改善的更好 希望能跟帖放出源码   
求鲜花 求火爆 求精华 不求板砖,鸡蛋
测试代码 和 插件代码


有图有真相



补充内容 (2012-5-3 00:46):
内嵌C代码 已更新 还更新了两处Bug  请跳转15楼

补充内容 (2012-5-4 10:06):
代码已更新!加入编译时错误提示,优化部分代码!已公布在26楼!

补充内容 (2012-5-4 22:02):
代码已更新部分功能,已公布在30楼!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

生成标准DLL中如果带内联汇编,根本不能执行汇编,盼楼主解决!  发表于 2015-10-5 18:04
非常感谢  发表于 2015-1-8 19:18
98楼更新  发表于 2013-6-7 00:28
代码已更新-------85楼  发表于 2012-9-16 23:03
代码已更新-------82楼  发表于 2012-8-19 20:55

评分

参与人数 38威望 +311 金钱 +87 人气 +62 收起 理由
hhxxhg + 5 + 1 很给力
qq275158045 + 13 + 3 楼主DLL无法使用汇编呢呢呢。。。。。
zhang_game + 1 + 1 生成DLL中内联汇编的话有巨大BUG,完全不能.
Vblegend + 1 很给力!
sunfrank + 4 + 3 很给力!
yuwentao4761 + 1 赞一个!
wwswwswws + 1 很给力!
reker + 12 + 12 + 4 很给力!
eaaca1234 + 12 + 20 + 2 能增加一个hex功能就更好了
wtywtykk + 8 + 1 很给力!
Inndy + 5 + 1 神马都是浮云
sxpp316 + 1 很给力!
bxc1995 + 1 好东西,必顶
blackAIX + 16 + 3 赞一个!
yqlh_20 + 4 + 1 很给力!不知道跟单片机有没有什么区别
cxbs + 1 很给力!
ljl88900_00 + 5 很给力!
404022 + 8 + 1 很给力!
peace2008 + 4 + 1 赞一个!
Link_Doyle + 8 + 1 很给力!
VBProFan + 20 + 20 很给力!
海南老陈 + 10 + 2 赞一个!
sunshinebean + 10 + 2 赞一个!
weisi + 8 + 1 赞一个!
阿富 + 5 + 1 good
h907308901 + 10 + 2 顶一个
acme_pjz + 15 + 3 精品文章
KusoSoft + 30 + 35 不知道怎么静态链接Lib, 如何使用里面的函
南无 + 10 + 2 赞一个!
JuncoJet + 13 + 3 很给力!
红色狂想 + 2 + 1 很给力!
youhm + 16 + 3 赞一个!
gujin162 + 4 + 1 很给力!
Igawk + 8 + 2 很给力!
lekj + 16 + 3 很给力! 哦!!這個插件是以前發過的嗎??
菜鸟学飞 + 16 + 3 很给力!
仙剑魔 + 8 + 3 这下好了,不用开VC翻译了
o70078 + 5 + 1 很给力!

查看全部评分

本帖被以下淘专辑推荐:

 楼主| 发表于 2012-9-16 23:03:09 | 显示全部楼层
本帖最后由 19900603 于 2012-9-17 22:17 编辑

代码太烂 没细整理 勿喷 喜欢的顶下好了 加分的话更好。

目前拦截IDE崩溃还是不太好。属于半成品吧。 有空再研究

欢迎大家继续找Bug 让 VbAux更完美

http://www.vbgood.com/forum.php? ... &fromuid=156191
老样子 免权限 免金币



'例子


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

这个版本编译不了! 提示: 没有找到 vblegend.tlb .ProjectType 方法没找到  发表于 2012-9-24 11:22

评分

参与人数 1人气 +1 收起 理由
Vblegend + 1 很给力!

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2012-5-1 17:05:16 | 显示全部楼层
本帖最后由 菜鸟学飞 于 2012-5-1 18:23 编辑

O(∩_∩)O哈哈~,沙发是我的啦
菜鸟学飞 于 2012-5-1 18:04 使用 抢沙发 抢夺本帖沙发

必须抢沙发

话说连接obj和lib怎么用,如果定义lib里面的符号信息?

点评

但是如果VB想调用的话,还是需要一个空白bas里面写满所有函数,不过函数里面一句话也没有而已  发表于 2012-5-2 10:53
lib疑似不需要定义符号信息吧,只要用M$VC里面某个生成lib的程序打包一下obj就行了……  发表于 2012-5-2 10:52
我也关注obj了lib问题,如果能成的话 可以静态链接C库了  发表于 2012-5-1 23:03
我也不清楚 不过我认识个人要求下我才加上的  发表于 2012-5-1 20:57
回复 支持 反对

使用道具 举报

发表于 2012-5-1 17:13:19 | 显示全部楼层
捧场~
回复 支持 反对

使用道具 举报

发表于 2012-5-1 17:33:44 | 显示全部楼层
怎么用。
汇编不太了解
回复 支持 反对

使用道具 举报

发表于 2012-5-1 18:00:51 | 显示全部楼层
使用1小时后PE莫名奇妙蓝屏死机,重启后无限卡机,再次重启N次才解决~原因不明,不知道是不是这个,弄得...(不要误会我没说一定是这个弄的,只是怀疑)

点评

估计你人品问题,PE不够稳定造成的  发表于 2012-5-2 10:54
应该不是吧。。。代码又没有自启动 重启都卡机 那肯定不是代码的问题了。  发表于 2012-5-1 20:37
回复 支持 反对

使用道具 举报

发表于 2012-5-1 19:56:56 | 显示全部楼层
楼主强人啊,呵呵
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-1 21:20:59 | 显示全部楼层
本帖最后由 19900603 于 2012-5-1 21:21 编辑

呃 编译出来的Dll 居然没有出现Dll约定错误
Private Declare Function TestingByRef Lib "TextDll.Dll" (X As Long) As Long
Private Sub Command3_Click()
    Dim A As Long
    A = 65535
    MsgBox TestingByRef(A)
End Sub


DllCode

Public Function TestingByRef(X As Long, Y As Long, Z As Long) As Long
    TestingByRef = X + Y + Z
  '  TestingByRef = 123
End Function

何解???

点评

呃 确实有点不科学。。但是没出错误。。 不知道是不是把 EXTRN __imp____vbaErrorOverflow:NEAR 去掉的原因  发表于 2012-5-3 12:03
这不科学...  发表于 2012-5-3 10:57
???不可能吧……  发表于 2012-5-2 10:54
哦了。。原来如此。。谢谢指教  发表于 2012-5-1 23:48
编译出来的程序 只要不是PCODE 编译的 一般都不会约定错误  发表于 2012-5-1 23:04
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-1 23:47:46 | 显示全部楼层
本帖最后由 19900603 于 2012-5-2 00:05 编辑


更新了下 Bug
修改前
  ' 111 ' #ASM Push 0 (代码着色失败)     可以内嵌进去
修改后 只有代码着色正常的汇编代码才能内嵌进去
修改 汇编代码无需保存工程即可编译()
修改  汇编代码结束时无需Ret 我直接使用的 汇编文件内的Ret代码

加了几个小例子   

实例1:传递Long型参数成功(必须在过程内调用下参数以确保变量参数在汇编文件声明)
实例2:获取指针位置的Long值
实例3:循环累计测试

不知道是我代码问题还是怎么回事 Asm 并没 大家说的 快很多




这是调用 N次   获取 从1到100的累计数 的函数  效果还是不太理想







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

大量计算的时候才有效果,这种进去什么事都没干的其实只有pop和push的时间...  发表于 2012-5-3 10:58
额!当然无法在Ide中调试!要在Ide中调试要麻烦很多的!  发表于 2012-5-2 13:14
你要写算法程序才能快很多的,另外我高度怀疑IDE下其实无任何效果,除非你写大量脏代码黑掉VB IDE下即时编译出来的P-code,用LLVM JIT编译出汇编替换掉……  发表于 2012-5-2 10:56
回复 支持 反对

使用道具 举报

发表于 2012-5-2 01:23:41 | 显示全部楼层
汇编不懂,无条件顶了
回复 支持 反对

使用道具 举报

发表于 2012-5-2 07:40:58 | 显示全部楼层
不会用?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-5-22 22:42

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表