Ubuntu下Fortran图形界面开发实践指南
一 开发路线与选择
二 环境准备
三 方案一 使用GTK+与Fortran原生绑定
program hello_gtk
use gtk
implicit none
type(c_ptr) :: window
call gtk_init(0, c_null_ptr)
window = gtk_window_new(GTK_WINDOW_TOPLEVEL)
call gtk_window_set_title(window, "Hello, GTK+ from Fortran"//c_null_char)
call gtk_window_set_default_size(window, 300, 200)
call g_signal_connect(window, "destroy"//c_null_char, c_funloc(gtk_main_quit), c_null_ptr)
call gtk_widget_show_all(window)
call gtk_main()
end program hello_gtk
pkg-config --cflags --libs gtk+-3.0四 方案二 混合编程 Qt 或 GTK+(推荐)
module math_core
use iso_c_binding
contains
subroutine add_arrays(a, b, n, c) bind(c, name="add_arrays")
import c_double, c_int
real(c_double), intent(in) :: a(n), b(n)
integer(c_int), intent(in) :: n
real(c_double), intent(out) :: c(n)
c = a + b
end subroutine add_arrays
end module math_core
五 常见问题与实用建议
pkg-config --cflags --libs gtk+-3.0)获取正确编译/链接参数;Qt项目使用qmake/cmake管理更可靠。