zoukankan      html  css  js  c++  java
  • linux下JThread编译及其HelloWorld

      为什么要用JThread呢,往简单的说,我们的程序经常要考虑多线程的问题,跨平台编译的问题,奈何Win32和linux下的多线程写法差别相当的大,我们只好使用相当丑陋的

    #ifdef WIN32
    #else
    #endif

     这样的代码如果只是几句也无所谓,要是多了的话搞得我们自己都不知道最主要的意图是什么了,而我们选择JThread的话,就不用被这个苦恼了

    往小的方面想,很多开源项目也依赖于其他一些开源项目,比如,JRtp就依赖JThread;所以装一下这个库也挺有用的吧


    好了,先下载源码或者到这里http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jthread

    解压一下

    tar -xvf jrtplib-3.7.1.tar.bz2

    我一般喜欢选择默认安装,即把这些库安装到/usr/local里面,所以

    ./configure

    make
    make install
    完成后记得确认一下,是不是将这个库放入
    共享库搜索路径

    不然编译完成后执行过程中你会收到这个错误
    error   while   loading   shared   libraries:   libjthread-1.2.1.so:   cannot   open   shared   object   file:   No   such   file   or   directory

    共享库的搜索路径
    可以将so复制到/usr/lib或者将其所在目录添加到/etc/ld.so.conf

    然后

    ldconfig   -v

    我使用的是后者


    或者这样执行你的程序:
    LD_LIBRARY_PATH=/usr/local/lib ./run

    好了,现在可以动手写个关于JThread的HelloWorld了

    myfunc.h


    myfunc.cpp


    只有几行的main函数

    main.cpp

    然后就是 makefile

    makefile

     make一下

    运行一下

    ./run

    run result


  • 相关阅读:
    osgearth cache
    3ds Max导出FBX动画模型在OSG中使用
    osgExp只能将3dmax中的动画导出为路径动画osg::AnimationPath,而不能导出osgAnimation::Animation。osg播放骨骼动画应该使用FBX格式
    ExtJS前端框架EXT弹出窗口事件
    大数据学习——securecrt同时向多个tab窗口发送相同的命令
    大数据学习——yarn集群启动
    如何取SQL结果集的第一条记录
    Java比较两个数组中的元素是否相同的最简单方法
    大数据学习——hdfs集群启动
    大数据学习——hadoop安装
  • 原文地址:https://www.cnblogs.com/linbc/p/1401643.html
Copyright © 2011-2022 走看看