请问如何神威如何编译大文件?
-
您好,我的程序是由C和fortran混合编写的
当我增大参数时候,就是bss段增大。可是当超过2G之后编译就出错,我都是用mpicc和mpif90来编译的,可是文档说有 内存的中间模式,这个参数是什么- -,
这个第11.3节木有找到哦。。。
这是错误之后的错误。请教,多谢。。
-
使用了太多的代码段内存?
比如int main(){ int a_very_large_array[1024 * 1024 * 1024 * 2]; }
之类的?
这样不好.
太大的东西还是应该动态分配.
-
@夜深忽梦少年事 只能这样分配是嘛?text段并不太大,就是未分配bss太大了,可是文档又说可以超2G可是并不行,好吧也只能修改。。
-
@大笨象 理论上说的话bss段也不应该太大? 看有没有编译时就确定大小的数组? 我印象里x86下不调的话也会有问题?
-
@夜深忽梦少年事 x86 直接加-mcmodel=medium 这个参数把表改大就可以。怎么说呢,代码确实没考虑周到吧..
-
@大笨象 那样编译出来文件会不会特别特别大?
-
@夜深忽梦少年事 在x86上编译 也就是那个bss段 特别大 超过2G text段和data没变化。。