C

Windows 控制台应用程序隐藏控制台

blender 的早期版本中,启动 blender 后会先显示一个控制台窗口,接着消失,弹出新的窗口。也许意味着控制台应用程序是可以隐藏控制台的。功夫不负有心人,找到了几种解决方法: 1 - 控制控制台窗口 ShowWindow(GetConsoleWindow(), SW_HIDE); 需要用到两个 Windows API: ShowWindow 设置指定窗口显示状态 GetConsoleWindow 返回控制台窗口句柄 获取控制台窗口句柄,然后修改他的显示状态。 但是官网不建议继续使用 GetConsoleWindow 接口。

Java 程序启动

你们说,带群友翻 jdk 代码会不会很酷? 拜托,超酷的好不好。 假设 首先假设在工作目录中指定并启动编译好的主类: $ java MainClass 至于 jar 包,你用压缩软件打开,然后打开文件 META-INF/MANIFEST.MF,里面 Main-Class 那一行就写着主类:

gcc 关于链接库的参数顺序

现象: buildbot@worker:/buildbot/allbuild/build$ make cc -c -o main.o main.c cc -c -o send.o send.c cc -c -o status.

可执行代码加载到内存并执行

比如咱们刚学了 boot0 这种 freestanding binary object 怎么生成,于是之前的 mmap & call 程序就可以用这个手法,而不是手动从 elf 格式里头扣 payload: payload.c ${CC} -ffreestanding -nostdinc -nostdlib -Wl,--oformat,binary -Wl,--no-dynamic-linker $< -o $@ echo "generate payload" && xxd $@ .

阅读 Vixie cron

[scode type="yellow”]都是猜测,没有经过验证,验证在咕咕咕,请自行辨别。[/scode] 来源 我选择阅读的源码来自 FreeBSD 源码树,其中的目录 usr.sbin/cron 中的 cron 实现。 主函数 main 其中 secres 的含义是每秒执行的任务,这个 cron 实现支持 @every_second 定义每秒执行的任务,除了我们熟知的 cron 表达式,这个实现还有 @ 开头的表达式支持,比如 @reboot 指的是开机以后执行一次的任务。

Makefile 探索

手动指定 语法 规则大致是这样: 目标文件: 源文件 构建目标的命令 ${变量名} 变量替换 ${CC} C 编译器 示例 prog: a.o b.o ${CC} a.

unistd.h 索引

通用 | 1003.1 - 1990 进程控制 _exit - 程序退出 fork - 创建新进程 sleep - 挂起线程一段时间 pause - 暂停,直到收到信号 exec 系列