每天听简报,了解最新科技、AI、软件资讯
C语言里,程序一旦触发某些错误,标准可能不再保证它会怎样运行。九月的一场技术演讲讨论了如何缩小这类未定义行为的范围。演讲者马丁·于克介绍,下一版标准草案已移除现有约一百项中的四十五项。他也展示了编译器警告、静态分析和运行时检查怎样帮助发现问题。比如,程序使用一块已经释放的内存,工具可以尝试在编译或运行时找出来。但减少未定义行为,不等于实现全面内存安全。他认为,完整保障仍需代价较高的运行时检查,或限制语言用法并配合形式化验证。
进度保存在本设备 · 登录同步