golang无法打印内部字符串

时间:2017-03-03 01:28:53

标签: go sdk

我想在c ++项目中使用sdk。但我遇到了问题,问题主要是这样的。我正在使用c函数运行一个go程序,代码可以简化到下面。

package main

 // #include <stdio.h>                                                                                                                                        
 // #include <stdlib.h>                                                                                                                                       
 /*                                                                                                                                                           
 void print() {                                                                                                                                               
     printf("just for test");                                                                                                                                     
 }                                                                                                                                                            
 */                                                                                                                                                           
 import "C"                                                                                                                                                   

 func main() {                                                                                                                                                
     C.print()                                                                                                                                                
 } 

但结果是没有,没有输出。谁能说出问题所在?非常感谢!

1 个答案:

答案 0 :(得分:0)

C stdio是缓冲的,因此它不会立即产生输出。在C程序中,退出main或执行exit()运行atexit处理程序,其中一个由运行时安装将刷新stdout缓冲区。您可能需要这样做:

window

如果由于速度原因每次都不想这样做,请在其他地方刷新标准输出。