求一个QNX多线程访问一个函数的源码

Daniel_31 2014-02-25 02:08:57
求一个QNX多线程访问同一个函数的源码
...全文
54 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
熊熊大叔 2014-02-25
  • 打赏
  • 举报
回复
http://blog.csdn.net/keyboardota/article/details/6759750
1.1 概述 Python 的创始人为Guido van Rossum,它是一种简单易学, 功能强大的编程语言。它有高效率的高层数据结构,简单而有效 地实现面向对象编程。Python 简洁的语法和对动态输入的支持, 再加上解释性语言的本质,使得它在大多数平台上的许多领域都 是一个理想的脚本语言,特别适用于快速的应用程序开发。 1.2 特点 (1) 简单,易学 Python 是一种代表简单主义思想的语言。阅读一个良好 的Python 程序就感觉像是在读英语一样,尽管这个英语的要 非常严格!Python 的这种伪代码本质是它最大的优点之一。 它使你能够专注于解决问题而不是去搞明白语言本身。 Python 极其容易上手,其语法极其简单。 (2) 免费、开源 Python 是FLOSS (自由/开放源码软件) 之一。简单地说, 用户可以自由地发布这个软件的拷贝、阅读它的源代码、对 它做改动、把它的一部分用于新的自由软件中。FLOSS 是基 于一个团体分享知识的概念。这是为什么Python 如此优秀的 原因之一———它是由一群希望看到一个更加优秀的Python 的 人创造并经常改进着的。 (3) 可移植性 由于它的开源本质,Python 已经被移植在许多平台上 (经过改动使它能够工作在不同平台上)。如果小心地避免使 用依赖于系统的特性,那么所有Python 程序无需修改就可以 在下述任何平台上面运行。 这些平台包括Linux、Windows、FreeBSD、Macintosh、 Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/ OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、Vx- Works、PlayStation、Sharp Zaurus、Windows CE 甚至还有 PocketPC. (4) 解释性 Python 语言写的程序不需要编译成二进制代码,可以直接 从源代码运行程序。在计算机内部,Python 解释器把源代码 转换成称为字节码的中间形式,然后再把它翻译成计算机使用 的机器语言并运行。事实上,由于不再需要担心如何编译程序、 如何确保连接转载正确的库等等,所有这一切使得使用Python 更加简单。由于只需要把Python 程序拷贝到另外一台计算机 上,它就可以工作了,这也使得Python 程序更加易于移植。 (5) 面向对象 Python 既支持面向过程的编程也支持面向对象的编程。在 面向过程的语言中,程序是由过程或仅仅是可重用代码的函数 构建起来的。在面向对象的语言中,程序是由数据和功能组合 而成的对象构建起来的。与其他主要的语言如C++和Java 相 比,Python 以一种非常强大又简单的方式实现面向对象编程。 (6) 可扩展性 如果需要一段关键代码运行得更快或者希望某些算法不 公开,可以把部分程序用C 或C++编写,然后在Python 程序 中使用它们。 (7) 可嵌入性 可以把Python 嵌入C/C++程序,从而向程序用户提供脚 本功能。 (8) 丰富的库 Python 标准库确实很庞大。它可以帮助处理各种工作, 包括正则表达式、文档生成、单元测试、线程、数据库、网 页浏览器、CGI、FTP、电子邮件、XML、XML -RPC、 HTML、WAV 文件、密码系统、GUI (图形用户界面)、Tk 和 其他与系统有关的操作。记住,只要安装了Python,所有这 些功能都是可用的,这被称作Python 的“功能齐全”理念。 除了标准库以外,还有许多其他高质量的库,如wx- Python、Twisted 和Python 图像库等等。
C 和 C++ 语言都是世界上最流行且使用最普遍的编程语言, 因此 Eclipse 平台(Eclipse Platform)提供对 C/C++ 开发的支持一点都不足为奇。 因为 Eclipse 平台只是用于开发者工具的一个框架,它不直接支持 C/C++;它使用外部插件来提供支持。 本文将向您演示如何使用 CDT — 用于 C/C++ 开发的一组插件。CDT 项目(有关链接, 请参阅本文后面的 参考资料一节)致力于为 Eclipse 平台提供功能完全的 C/C++ 集成开发环境(Integrated Development Environment,IDE)。 虽然该项目的重点是 Linux,但它在可使用 GNU 开发者工具的所有环境(包括 Win32(Win 95/98/Me/NT/2000/XP)、QNX Neutrino 和 Solaris 平台)中都能工作。 CDT 是完全用 Java 实现的开放源码项目(根据 Common Public License 特许的),它作为 Eclipse SDK 平台的一组插件。这些插件将 C/C++ 透视图添加到 Eclipse 工作台(Workbench)中, 现在后者可以用许多视图和向导以及高级编辑和调试支持来支持 C/C++ 开发。 由于其复杂性,CDT 被分成几个组件,它们都采用独立插件的形式。 每个组件都作为一个独立自主的项目进行运作,有它自己的一组提交者、错误类别和邮件列表。 但是,所有插件都是 CDT 正常工作所必需的。 下面是 CDT 插件/组件的完整列表: 主 CDT 插件(Primary CDT plug-in)是“框架”CDT 插件。 CDT 功能 Eclipse(CDT Feature Eclipse)是 CDT 功能组件(Feature Component)。 CDT 核心(CDT Core)提供了核心模型(Core Model)、CDOM 和核心组件(Core Component)。 CDT UI是核心 UI、视图、编辑器和向导。 CDT 启动(CDT Launch)为诸如编译器和调试器之类的外部工具提供了启动机制。 CDT 调试核心(CDT Debug Core)提供了调试功能。 CDT 调试 UI(CDT Debug UI)为 CDT 调试编辑器、视图和向导提供了用户界面。 CDT 调试 MI(CDT Debug MI)是用于与 MI 兼容的调试器的应用程序连接器。 现在,让我们研究一下如何在实际应用程序中使用这些组件。图 1 显示了 Eclipse 中的 C/C++ 项目: 图 1. 在带有 CDT 插件的 Eclipse 中编辑 C/C++ 项目 安装和运行 CDT 在下载和安装 CDT 之前,首先必需确保 GNU C 编译器(GNU C compiler,GCC)以及所有附带的工具(make、binutil 和 GDB)都是可用的。 如果正在运行 Linux,只要通过使用适用于您分发版的软件包管理器来安装开发软件包。 在 Windows平台上,将需要安装 Cygwin 工具箱(请参阅 参考资料以获得链接)。Cygwin 是用于 Windows 的类 UNIX 环境,它包括 GCC 移植以及所有必需的开发工具,包括 automake 和 GNU 调试器(GNU Debugger,GDB)。Cygwin 是在 cygwin1.dll 库基础上构建的。Cygwin 的备用解决方案是 Minimalist GNU for Windows(MinGW)(请参阅 参考资料以获得链接)。 该工具是一组可免费获取、自由分发的特定于 Windows 的头文件和导入库,这些头文件和导入库与 GNU 工具集(它们允许您生成不依赖于任何第三方 DLL 的本机 Windows 程序)结合在一起。 如果您想要创建与 POSIX 兼容的 Windows 应用程序,那么 MinGW 是最佳选择。MinGW 甚至可以在 Cygwin 安装之上工作。 Solaris和 QNX您从因特网下载并安装其特定的 GCC、GNU Make binutils 和 GDB 移植(请参阅 参考资料以获得链接)。 假设您安装了适当的 Java SDK/JRE 和 Eclipse 平台 SDK,并且它们都正常运行。CDT 以两种“方式”可用:稳定的发行版和试运行版(nightly build)。 试运行版未经完全测试,但它们提供了更多的功能并改正了当前错误。 安装之前,请检查磁盘上是否存在先前版本的 CDT,如果存在,请确保完全除去它。 因为 CDT 没有可用的卸载程序,所以需要手工除去它。 为了检查先前版本是否存在,转至 CDT 插件所驻留的目录: eclipse/plugins 。 接着,除

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧