社区讨论

Hack

P12509通信题参与者 5已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@mdh997jv
此快照首次捕获于
2025/07/24 18:34
7 个月前
此快照最后确认于
2025/11/04 07:55
4 个月前
查看原帖
已经通过本题。
该方法与底层基本无关,仅利用了 C++ 特性:带有 __attribute__((constructor)) 标签的函数(包括全局对象的构造方法)会在主函数之前被调用,因此可以利用这点在 grader 添加 seccomp 限制之前提前分配共享内存。之后对共享内存的读写并不需要调用系统函数,因此不会触发。
提供可能的修正方案:将 grader 的评测逻辑直接放置在最高优先级函数,即 __attribute__((constructor(0))) 里。
但是不知道 grader 和提交代码是不是同一个编译单元,如果跨编译单元(跨文件),调用 ctor 的顺序可能不确定。
其实就是赛跑,谁的代码先运行谁赢。

回复

7 条回复,欢迎继续交流。

正在加载回复...