用法视频

asciicast

创建工程

创建一个名叫helloc控制台工程:

  1. $ xmake create -l c -P ./hello

执行完后,将会生成一个简单工程结构:

  1. hello
  2. ├── src
  3. └── main.c
  4. └── xmake.lua

其中xmake.lua是工程描述文件,内容非常简单,告诉xmake添加src目录下的所有.c源文件:

  1. target("hello")
  2. set_kind("binary")
  3. add_files("src/*.c")

目前支持的语言如下:

  • c/c++
  • objc/c++
  • cuda
  • asm
  • swift
  • dlang
  • golang
  • rust

如果你想了解更多参数选项,请运行: xmake create --help

构建工程

  1. $ xmake

运行程序

  1. $ xmake run hello

调试程序

  1. $ xmake run -d hello

xmake将会使用系统自带的调试器去加载程序运行,目前支持:lldb, gdb, windbg, vsjitdebugger, ollydbg 等各种调试器。

  1. [lldb]$target create "build/hello"
  2. Current executable set to 'build/hello' (x86_64).
  3. [lldb]$b main
  4. Breakpoint 1: where = hello`main, address = 0x0000000100000f50
  5. [lldb]$r
  6. Process 7509 launched: '/private/tmp/hello/build/hello' (x86_64)
  7. Process 7509 stopped
  8. * thread #1: tid = 0x435a2, 0x0000000100000f50 hello`main, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
  9. frame #0: 0x0000000100000f50 hello`main
  10. hello`main:
  11. -> 0x100000f50 <+0>: pushq %rbp
  12. 0x100000f51 <+1>: movq %rsp, %rbp
  13. 0x100000f54 <+4>: leaq 0x2b(%rip), %rdi ; "hello world!"
  14. 0x100000f5b <+11>: callq 0x100000f64 ; symbol stub for: puts
  15. [lldb]$

你也可以使用简写的命令行选项,例如: xmake r 或者 xmake run