当前位置:  技术问答>linux和unix

用Glib库写的一个小程序,大家帮忙看看

    来源: 互联网  发布时间:2016-08-10

    本文导语:  主要用了Glib的线程池和异步队列,也用了标准c中的函数,我还不确定是否可以混用这两者??? 首先就是内存映射报错!mmap failed!!但是我在没用Glib函数的程序中却能够映射成功! 还有个警告就是说g_thread_pool_new(my...

主要用了Glib的线程池和异步队列,也用了标准c中的函数,我还不确定是否可以混用这两者???
首先就是内存映射报错!mmap failed!!但是我在没用Glib函数的程序中却能够映射成功!
还有个警告就是说g_thread_pool_new(my_process,NULL,10,FALSE,NULL);第 1 个参数时在不兼容的指针类型间转换
那定义myprocess函数时该指定个什么类型????
多谢大家了!!!

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

GFunc*
my_process(gpointer data)
{
printf("%sn",(char *)data);
}

int
main(int argc,char **argv)
{
int fd;
char *ptr_fd,*ptr_oid,*out_ptr = NULL;
int j,que_len = 0;
gint i;
char *ptr;
struct stat st;
GAsyncQueue *async_q;

fd = open("test.txt",O_RDWR);
fstat(fd,&st);
ptr_fd = mmap(NULL,st.st_size,PROT_READ | PROT_WRITE,MAP_SHARED,fd,0);

if(ptr_fd = MAP_FAILED){
printf("mmap failed!n");
return 1;
}
if (!g_thread_supported ()) 
g_thread_init (NULL);

async_q = g_async_queue_new();

ptr_oid = (char *)strtok_r(ptr_fd,"n",&out_ptr);
g_async_queue_push(async_q,(gpointer)ptr_oid);
que_len ++;
while(ptr_oid = (char *)strtok_r(NULL,"n",&out_ptr)){
g_async_queue_push(async_q,(gpointer)ptr_oid);
que_len ++;
}

GThreadPool *pool;
gpointer data;

pool = g_thread_pool_new(my_process,NULL,10,FALSE,NULL);
for(i = 0; i 

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C 程序工具包 GLib
  • 如果在linux下写服务端的程序,是自己写epoll流程还是用glib效率高呢?
  • 大家好,为什么我下载并安装了glib-2.0.7后,用rpm -qa | grep glib 显示的还是glib-1.4.x,谢谢指教
  • glib安装后找不到glib-config
  • 装了GLIB,再装ATK,为什么在./configure时它总是说我没用装GLIB
  • 一个glib的问题
  • 问一个关于glib的问题
  • 求glib2的使用例子
  • linux下glib的问题
  • glib安装问题
  • configure: error: GLIB 2.0.0 ...
  • linux下pth-1.4.0和glib-1.2.0开发包怎么安装?(在线等)
  • 请问该怎样包含和链接glib
  • Glib
  • Glib对象系统(也称为"GObject")内部是如何实现面向对象特征的呢?
  • glib到底是什么东西?
  • 安装glib2.0后遇上的问题!
  • glib-sql-wrapper
  • glib在所有unix和linux版本下都通用吗?
  • 谁安装成功过glib,请指教,谢谢
  • glib 升级问题!!!噩梦啊。。。
  • 关于GLib Thread Pool的使用问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3