【Linux】7C++编程
查志强
图像处理模式识别机器视觉
展开
-
【Linux开发技术之常见问题】一个建立线程时常见的问题:invalid conversion from `void*' to `void*(*)(void*)
void main_thread ( void *ptr ) { char *message1 = "Thread 1"; char *message2 = "Thread 2"; pthread_t thread3, thread4; int iret3, iret4; iret3 = pthread_create(&thread3, NULL, (v转载 2014-06-17 15:32:10 · 2917 阅读 · 0 评论 -
linux下的C语言开发(网络编程)
【原文:http://blog.csdn.net/feixiaoxing/article/details/7259675】【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 不管在Windows平台下面还是在Linux平台下面,网络编程都是少不了的。在互联网发达的今天,我们的生活基本上已经离不开网络了。我们可以用网络干很多的事转载 2014-05-22 22:14:24 · 653 阅读 · 0 评论 -
linux下的C语言开发(进程等待)
【原文:http://blog.csdn.net/feixiaoxing/article/details/7223024】【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 所谓进程等待,其实很简单。前面我们说过可以用fork创建子进程,那么这里我们就可以使用wait函数让父进程等待子进程运行结束后才开始运行。注意,为了证明父转载 2014-05-22 22:08:59 · 723 阅读 · 0 评论 -
linux下的C语言开发(动态库)
【原文:http://blog.csdn.net/feixiaoxing/article/details/7203441】【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 动态链接库不是linux独有的特性,在windows下面也存在这样的特性。一般来说,windows下面的动态连接库是以*.dll作为结尾的,而linux下转载 2014-05-22 22:04:15 · 571 阅读 · 0 评论 -
linux下的C语言开发(gdb调试)
【原文:http://blog.csdn.net/feixiaoxing/article/details/7199643】【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 编写代码过程中少不了调试。在windows下面,我们有visual studio工具。在linux下面呢,实际上除了gdb工具之外,你没有别的选择。那么,转载 2014-05-22 21:55:29 · 594 阅读 · 0 评论 -
dll和so文件区别与构成
【原文:http://blog.csdn.net/educast/article/details/9304015】动态链接,在可执行文件装载时或运行时,由操作系统的装载程序加载库。大多数操作系统将解析外部引用(比如库)作为加载过程的一部分。在这些系统上,可执行文件包含一个叫做import directory的表,该表的每一项包含一个库的名字。根据表中记录的名字,装载程序在硬盘上搜索转载 2014-06-20 22:21:48 · 659 阅读 · 0 评论 -
Linux 如何解决共享库的版本控制
【原文:http://blog.csdn.net/unbutun/article/details/6362474】换句话说,soname不是真实存在的文件,只是在此库中和将来调用此库的文件中保存的一个名字,在加载是去找这个名字,使用时创建一个软连接来指向真实文件,这样真实文件的版本号就可以升级了 Linux 系统,也同样面临和Window一样的问题,如何控制动态转载 2014-06-21 10:22:50 · 578 阅读 · 0 评论 -
Linux 的多线程编程的高效开发经验
【原文:】背景Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5 个方面总结出 Linux 多线程编程上的问题,并分别引出相关改善的开发经验,用以避免这些的陷阱。我们希望这些经验可以帮助读者们能更好更快的熟悉 Linux转载 2014-06-17 21:26:40 · 676 阅读 · 0 评论 -
Linux下关于互斥锁及同步的移植(二)
【原文:http://jazka.blog.51cto.com/809003/234734】继续上一篇,这篇来对比事件在win32和Linux下的区别。 在 Windows 中,事件对象是那些需要使用 SetEvent() 函数显式地将其状态设置为有信号状态的同步对象。事件对象来源有两种类型:在 手工重置事件(manual reset event) 中,对象的状态会一直转载 2014-06-17 15:58:58 · 610 阅读 · 0 评论 -
linux 动态装载动态库 ldd,ldconfig,ld.so.conf, ld.so.cache
【原文:http://blog.csdn.net/jiafu1115/article/details/15808391】前面我们介绍过,GCC编译C++程序的那些步骤,其中包括编译的时候include的搜索目录,链接的时候库的搜索目录(这里的库包含两种库)。还有一个时候,需要搜索路径,那就是装载动态库的时候,这个时候与GCC无关了。而是与linux系统自身有关系。 动态转载 2014-06-20 22:23:26 · 885 阅读 · 0 评论 -
ldconfig命令和ldd命令详解
【原文:http://bbs.chinaunix.net/thread-1996818-1-1.html】LINUX动态链接库高级应用(etc/ld.so.conf)共享动态链接库3.1 动态链接库配置文件为了让动态链接库为系统所使用,需要维护动态链接库的配置文件--/etc/ld.so.conf.此文转载 2014-06-21 10:41:18 · 2647 阅读 · 0 评论 -
linux下动态共享库的创建,使用与更新(包括ldconfig的使用)
【原文:http://blog.csdn.net/the9thbit/article/details/5902107】一 创建并编译共享库动态链接库一般以lib开头,形如libmymodule.so.1.0.0. 后面跟的三个版本号,从左到右的含义为:(1) 大版本号,当接口变得和之前不兼容,则新增一个大版本号。(2) 一般增加了接口,不过旧的接口不变,则新增此转载 2014-06-21 10:58:24 · 743 阅读 · 0 评论 -
linux下的C语言开发(多线程编程)
【原文:http://blog.csdn.net/feixiaoxing/article/details/7237649】【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 多线程和多进程还是有很多区别的。其中之一就是,多进程是linux内核本身所支持的,而多线程则需要相应的动态库进行支持。对于进程而言,数据之间都是相互隔离的转载 2014-05-22 22:12:26 · 640 阅读 · 0 评论 -
linux下的C语言开发(进程创建)
【原文:http://blog.csdn.net/feixiaoxing/article/details/7218038】【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在Linux下面,创建进程是一件十分有意思的事情。我们都知道,进程是操作系统下面享有资源的基本单位。那么,在Linux下面应该怎么创建进程呢?其实非常简单转载 2014-05-22 22:06:28 · 666 阅读 · 0 评论 -
linux下的C语言开发(定时器)
【原文:http://blog.csdn.net/feixiaoxing/article/details/7207894】【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 定时器是我们需要经常处理的一种资源。那linux下面的定时器又是怎么一回事呢?其实,在linux里面有一种进程中信息传递的方法,那就是信号。这里的定时器就转载 2014-05-22 22:03:54 · 717 阅读 · 0 评论 -
windows以及linux获取系统时间
【原文:】一,windows获取系统时间方法http://blog.sina.com.cn/s/blog_7cd16d840100qmmm.html获取系统时间,这个方法比较简单SYTimeEMTIME Time={0};GetLocalTime(&Time);//获得当前本地时间GetSyTimeemTime(&Time);//这一个是获得格林威治时间,一般不转载 2014-06-12 15:45:11 · 1291 阅读 · 0 评论 -
linux下的C语言编程(总结篇)
【原文:】 在Linux下面关于C语言的内容其实挺多的。不同的人关注的地方也不一样。关注系统设计的人可能更关注整个linux系统的结构;设计驱动的人可能更关注linux驱动的配置和实现;而我在这里所关注的只是linux应用层方面的内容,属于最基础的内容,当然也是最重要的内容。实际上对应于C语言的理解在很大程度上决定了你对整个计算机系统的理解程度。从本质上说,linux和window转载 2014-05-22 22:25:21 · 778 阅读 · 0 评论 -
linux下的C语言开发(开篇)
【原文:http://blog.csdn.net/feixiaoxing/article/details/7194756】【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在很多人的眼里,C语言和linux常常是分不开的。这其中的原因很多,其中最重要的一部分我认为是linux本身就是C语言的杰出作品。当然,linux操作系统转载 2014-05-22 21:47:55 · 590 阅读 · 0 评论 -
linux下的C语言开发(线程互斥)
【原文:http://blog.csdn.net/feixiaoxing/article/details/7243664】【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于编写多线程的朋友来说,线程互斥是少不了的。在linux下面,编写多线程常用的工具其实是pthread_mutex_t。本质上来说,它和Windows下转载 2014-05-22 22:14:42 · 694 阅读 · 0 评论 -
Windows下程序向Linux下移植实践
【yuanwen】Windows下程序向Linux下移植实践 温辉敏(wenhm@sina.com) 2005年2月 【摘要】根据zxms80项目的会议调度模块移植的经验,本文提出了Windows平台上程序向Linux下移植所碰到的一些典型问题,并举例给出了相应的解决方法,文中还描述了使用pwlib库时makefile文件的编写方法,该方法也适用于不使用pwli转载 2014-05-27 20:50:06 · 859 阅读 · 0 评论 -
windows dll 和 Linux so 的异同
【原文:http://blog.sina.com.cn/s/blog_4b09f3db0101bz9t.html】windows dll 和 Linux so 的异同 摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理。但不转载 2014-06-08 16:28:32 · 876 阅读 · 0 评论 -
Linux下软件发布技巧
【】Linux现在能够被越来越多的人认识及使用,在很大程度上可以归结为其具有强大的C编译器――gcc、便于交流的环境――Internet,以及雄厚的师资――有数不清的程序员在开发数不清的代码。 有了Linux和Internet,我们可以很容易地在世界范围内发布软件作品,与他人交流开发心得与技巧。当我们完成了自己的软件作品,怎么样才能让其他人以快捷、方便的方式与自己分享成果、理解开发思转载 2014-06-19 21:08:56 · 616 阅读 · 0 评论 -
利用ldd打造Linux下的绿色软件包
【原文:http://www.kongch.com/2010/06/ldd-linux-green-software/】题记:其实这个想法来源于一个同事在之前公司的经验,感觉不错,记下来以免忘记。在云泛滥的今天,如何在云上快速部署应用其实是一个很有意思的话题。这种方法在我看来除了安装包比较大坨这一缺点之外,非常适合用来部署云应用。众所周知绿色软件是windows下的一个转载 2014-06-20 20:02:11 · 1840 阅读 · 0 评论 -
linux编译时和运行时,库搜索路径和顺序
【原文:http://linux.chinaunix.net/techdoc/develop/2008/12/26/1054992.shtml】转自:http://docs.sun.com/app/docs/doc/820-1204/aeudh?l=zh&a=viewhttp://docs.huihoo.com/gnu/gcc/gcc_howto/GCC-HOWTO-6.html有转载 2014-06-21 10:07:20 · 1996 阅读 · 0 评论 -
Linux下关于互斥锁及同步的移植(一)
【原文:http://jazka.blog.51cto.com/809003/234732】讲完了前面关于多线程的基础知识后,说一下我最近关于移植的一些体会。 将win32程序关于多线程的内容移植到Linux下面,不能简单的按照函数对应来移植。不过通过下面的对应关系,再加上你对这些模式的深入了解,相信会移植的很成功。 信号量转载 2014-06-17 15:58:07 · 535 阅读 · 0 评论 -
Windows 和 Linux 的IPC API对应表
【原文:http://blog.csdn.net/zhengdy/article/details/5485472】Windows 和 Linux 的IPC API对应表 Table 1. Process mapping WindowsLinuxClassificationCreateProcess()CreateProcessAsUser()转载 2014-06-17 15:45:05 · 596 阅读 · 0 评论 -
Linux多线程学习
【原文:http://blog.chinaunix.net/uid-1849361-id-2825470.html】Linux下的多线程编程 作者: 姚继锋 (2001-08-11 09:05:00) 1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到 *** 作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念转载 2014-06-12 15:10:10 · 617 阅读 · 0 评论 -
Linux--线程编程
【】进程 系统中程序执行和资源分配的基本单位 每个进程有自己的数据段、代码段和堆栈段 在进行切换时需要有比较复杂的上下文切换 线程 减少处理机的空转时间,支持多处理器以及减少上下文切换开销, 比创建进程小很多 进程内独立的一条运行路线 处理器调度的最小单元,也称为轻量级进程可以对进程的内存空间和资源进行访问,并与同一进程中的其他线转载 2014-06-12 15:05:03 · 532 阅读 · 0 评论 -
linux下获取程序当前目录绝对路径
【】1、Shell版[html] view plaincopyprint?#获取当前脚本所在绝对路径 cur_dir=$(cd "$(dirname "$0")"; pwd) #获取当前脚本所在绝对路径 cur_dir=$(cd "$(dirname "$0")"; pwd) 2、C语言版 方法一:用realpath函数转载 2014-06-10 15:33:24 · 1458 阅读 · 0 评论 -
linux操作系统下c语言编程入门
发信人: Lerry (驴是的念来过倒·杏红等头墙上爬), 信区: Linux标 题: linux操作系统下c语言编程入门发信站: 哈工大紫丁香 (Fri Dec 2 23:33:41 2005), 转信(一)目录介绍1)Linux程序设计入门--基础知识2)Linux程序设计入门--进程介绍3)Linux程序设计入门--文件操作4)Linux程序设计入门--时间概转载 2014-05-26 22:02:55 · 2763 阅读 · 0 评论 -
linux下的C语言开发(makefile编写)
【原文:http://blog.csdn.net/feixiaoxing/article/details/7197095】【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于程序设计员来说,makefile是我们绕不过去的一个坎。可能对于习惯Visual C++的用户来说,是否会编写makefile无所谓。毕竟工具本身已经转载 2014-05-22 21:53:47 · 639 阅读 · 0 评论 -
linux下的C语言开发(AT&T 汇编语言)
【原文:http://blog.csdn.net/feixiaoxing/article/details/7201297】【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 同样是x86的cpu,但是却可以用不同形式的汇编语言来表示。在window上面我们使用的更多是intel格式的汇编语言,而在Linux系统上面使用的更多的转载 2014-05-22 21:55:26 · 731 阅读 · 0 评论 -
linux下的C语言开发(线程等待)
【原文:http://blog.csdn.net/feixiaoxing/article/details/7240833】【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 和多进程一样,多线程也有自己的等待函数。这个等待函数就是pthread_join函数。那么这个函数有什么用呢?我们其实可以用它来等待线程运行结束。转载 2014-05-22 22:13:34 · 758 阅读 · 0 评论 -
linux下的C语言开发(管道通信)
【原文:http://blog.csdn.net/feixiaoxing/article/details/7229483】【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 Linux系统本身为进程间通信提供了很多的方式,比如说管道、共享内存、socket通信等。管道的使用十分简单,在创建了匿名管道之后,我们只需要从一个管道发转载 2014-05-22 22:11:13 · 719 阅读 · 0 评论 -
linux下的C语言开发(自动编译工具)
【原文:http://blog.csdn.net/feixiaoxing/article/details/7211487】【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在Linux下面,编写makefile是一件辛苦的事情。因此,为了减轻程序员编写makefile的负担,人们发明了autoconf和automake这转载 2014-05-22 22:06:20 · 652 阅读 · 0 评论 -
linux下的C语言开发(静态库)
【原文:http://blog.csdn.net/feixiaoxing/article/details/7202472】【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在我们编写软件的过程当中,少不了需要使用别人的库函数。因为大家知道,软件是一个协作的工程。作为个人来讲,你不可能一个人完成所有的工作。另外,网络上一些优秀转载 2014-05-22 21:56:44 · 615 阅读 · 0 评论 -
linux-多线程
【yuanwen】一、什么是线程? 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。二、什么时候使用多线程? 当多个任务可以并行执行时,可以为每个任务启动一个线转载 2014-06-12 15:07:15 · 576 阅读 · 0 评论 -
Linux下用C读取INI配置文件
【原文:http://www.linuxidc.com/Linux/2011-12/49100.htm】在Windows下可以用GetPrivateProfileString或GetPrivateProfileInt方便读取.ini配置文件内容,但是在Linux平台上就一筹莫展了。为了解决该问题,打算用C来读取.ini,即可不受平台的限制了。 #define CONF_FILE_PATH转载 2014-06-10 10:39:57 · 4475 阅读 · 0 评论 -
linux下的C语言开发(信号处理)
【原文:http://blog.csdn.net/feixiaoxing/article/details/7226657】【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 信号处理是linux程序的一个特色。用信号处理来模拟操作系统的中断功能,对于我们这些系统程序员来说是最好的一个选择了。要想使用信号处理功能,你要做的就是填转载 2014-05-22 22:10:07 · 609 阅读 · 0 评论