随笔 - 51  文章 - 0  评论 - 456  阅读 - 47万 

这是我的第一篇使用markdown语法编写的博客

使用的编辑器为Sublime Text2
并且使用了sublog插件,
sublog是一个开源项目 sublog
并且参考了作者的博客 AmongOthers
博客园官方也发布声明表示支持MarkDown语法 新功能发布!Markdown写博客!
另外再介绍一个MarkDown的编辑器 MarkdownPad

我的博客文章
- 开源项目asmjit——调用自定义方法demo以及windbg调试
- 玩转Windows服务系列——服务运行、停止流程浅析

下面是代码测试

  1. #include "asmjit.h"
  2. // [Dependencies - C]
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <string.h>
  6. using namespace AsmJit;
  7. #include <string>
  8. #include <iostream>
  9. using namespace std;
  10. int add(int value1, int value2)
  11. {
  12. cout << "arg1: " << value1 << " arg2: " << value2 << endl;
  13. return value1 + value2;
  14. }
  15. int main(int argc, char* argv[])
  16. {
  17. X86Compiler c;
  18. //记录日志,将编译细节输出到控制台
  19. FileLogger Logger(stdout);
  20. c.setLogger(&Logger);
  21. //新建一个无参数、无返回值的方法
  22. c.newFunc(kX86FuncConvDefault, FuncBuilder0<void>());
  23. //定义一个临时变量
  24. GpVar result(c.newGpVar());
  25. //给add方法传入参数
  26. c.push(Imm(9));
  27. c.push(Imm(10));
  28. //调用自定义的add方法
  29. c.call((void*)add);
  30. //方法结束
  31. c.endFunc();
  32. typedef void (*myfun)(void);
  33. //生成方法的机器码--真正的机器码
  34. myfun fun = asmjit_cast<myfun>(c.make());
  35. //调用刚刚生成的方法
  36. fun();
  37. //获取add方法的返回值
  38. __asm{
  39. mov value3, eax
  40. }
  41. cout << value3 << endl;
  42. //程序结束释放生成的方法占用的内存
  43. MemoryManager::getGlobal()->free(fun);
  44. return 0;
  45. }

下面是我的MarkDown语法的博客的截图
Markdown blog

Powered by Sublog

posted on   缘生梦  阅读(451)  评论(3编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示