【发布时间】:2014-01-19 15:39:00
【问题描述】:
我是 Allegro 的新手。我们必须在学习中使用它。 我的代码有问题,应该加载位图并打印出来。
#include <allegro.h>
int main( void )
{
allegro_init();
install_keyboard();
set_color_depth(16);
set_gfx_mode( GFX_AUTODETECT, 640, 480, 0, 0);
BITMAP *Bild;
if( (Bild=load_bitmap("Spielfeld_Rand.bmp", NULL) ) == NULL )
{
allegro_message( "Error" );
return 1;
}
while( !key[KEY_ESC])
{
draw_sprite(screen, Bild, 0,0);
}
destroy_bitmap(Bild);
return 0;
}
END_OF_MAIN()
代码崩溃。我没有看到任何错误消息,我的屏幕变黑了,我什么也做不了。我也试过输入图片的完整路径,但是没有用。
但如果我删除load_bitmap 周围的if,程序将中止并返回到屏幕。
谁能帮我解决这个神秘的崩溃问题?
非常感谢。
【问题讨论】:
-
END_OF_MAIN()??? o.O——还有,调试器说了什么。 -
END_OF_MAIN() 是 allegro 特定的。我用 gdb 测试它,但它也崩溃了,没有错误。