2014年02月14日 星期五 09:16
glib本身使用C语言开发的,其也只提供C语言的API。glibmm是glib的C++语言封装,是对C++ STL的一些补充。官方文档这样介绍:
glibmm is the official C++ interface for the popular cross-platform library Glib. It provides non-UI API that is not available in standard C++ and makes it possible for gtkmm to wrap GObject-based APIs.
CentOS系列操作系统自带glibmm的安装包,执行如下命令即可安装:
sudo yum install -y glibmm24-devel
下面是一个计算MD5校验值的示例程序,使用了C++11的部分特性:
#include <iostream> #include <string> #include <glibmm.h> using namespace std; using namespace Glib; int main(int argc,char **argv) { auto file = "/etc/hosts"; if(argc == 2) { file=argv[1]; } try { auto c=file_get_contents(file); auto cs=Checksum::compute_checksum( Checksum::CHECKSUM_MD5,c); cout << cs << endl; } catch (FileError &e) { cout << "ERROR: " << e.what() << endl; } return 0; }
示例Makefile:
CURL_FLAGS = `pkg-config --cflags --libs glibmm-2.4` all: glibmm_checksum glibmm_checksum: glibmm_checksum.cpp g++ -std=c++11 -o glibmm_checksum ${CURL_FLAGS} glibmm_checksum.cpp clean: rm -f glibmm_checksum *.o
参考资料:
https://developer.gnome.org/glibmm/2.35/
https://developer.gnome.org/glibmm/2.35/classGlib_1_1Checksum.html
Zeuux © 2024
京ICP备05028076号