这是我的第一篇使用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 2014-01-12 15:48  缘生梦  阅读(450)  评论(3编辑  收藏  举报