c语言
文章平均质量分 65
keyboardOTA
喜欢技术挑战
展开
-
QNX程序的键盘输入与控制台输出
第一个QNX程序已经写完,测试了QNX应用的开发过程,开始写一些复杂一点点的程序。最先想到的是获取键盘输入和通过控制台进行输出,这些都是当初学习C语言的时候必做的功课。 和标准的C语言一样,QNX C语言实现也是通过printf()进行控制台输出,通过scanf()获原创 2011-09-08 11:31:38 · 6674 阅读 · 8 评论 -
PlayBook NDK上的多线程编程
测试了PlayBook NDK上编写的控制台程序后,马上想进一步测试的就是PlayBook NDK上的多线程编程。经过测试很开心地发现PlayBook NDK上进行多线程编程和之前的QNX编程环境是相同的。也就是说在程序中可以简单地调用pthread_create方法实现线程的创建。 如此简单的事情就不再啰嗦了,直接上代码,供各位参考:#include #include #include原创 2011-11-04 00:04:56 · 4101 阅读 · 5 评论 -
最简单的PlayBook NDK应用
运行了PlayBook NDK上的样例后,有一个的想法就是看看怎么用C写一个最简单的PlayBook NDK 应用,主要是抛开复杂的事件处理和界面展现,将注意力集中在最简单的应用上。 想到最简单的应用,无外乎就是通过控制台输出一个“Hello World”,于是马上动手写一个控制台输出的PlayBook NDK 应用。 在NDK环境里创建一个BlackBerry Tablet项目,在项目类型选择时原创 2011-11-02 10:26:07 · 3085 阅读 · 1 评论 -
下载安装BlackBerry PlayBook NDK 开发环境
等待了很长时间,BlackBerry PlayBook的原生开发工具PlayBook NDK终于在在BlackBerry Dev Con上发布了。如大家所知,BlackBerry PlayBook的操作系统是QNX(现在叫做BBX)。所以,PlayBook NDK,PlayBook的本地开发工具,相当于就是PlayBook的c/C++开发工具,可以直接访问底层资源,令我等技术控很是期待。既原创 2011-10-24 00:03:08 · 3518 阅读 · 0 评论 -
第一个BeagleBoard上的QNX程序
成功在BeagleBoard上运行QNX系统后,尝试在BealgeBoard上跑一个Hello World程序吧。 测试发现整个程序编写过程和虚拟机上的第一个QNX程序类似,只是选择目标系统的时候要选择ARM,而不是X86。所以以下过程有些简略,如果有不清楚地地方请参考之原创 2011-09-15 10:57:47 · 4662 阅读 · 4 评论 -
QNX学习者,向ARM汇编进发!
既然BeagleBoard是ARM的板子,自己又有想法了解学习一下ARM体系结构和ARM汇编,有机会肯定要在这个板子上跑跑ARM汇编程序。在网上了解了一下,一般的做法是搭建一个Linux环境设置混编环境,编译后将程序传到板子上运行。搭建这些环境有些麻烦,而且自己手上的QNX原创 2011-09-15 12:20:28 · 4996 阅读 · 2 评论 -
QNX多线程同步之Semaphore
之前讲了QNX上Mutex的使用,Mutex作用是锁住一个资源,保证同一时间只有一个线程可以使用该资源。不过,有些情况下Mutex不能满足需求,比如某个资源可以允许两个线程同时访问,但是不允许超过两个线程访问它。这种情况下如果还是使用Mutex的话只有一个线程可以访问该资源,没有原创 2011-09-14 13:38:57 · 3812 阅读 · 0 评论 -
QNX上毫秒级的线程休眠:delay
在前几篇博文的样例中大家可能留意到了一个线程休眠方法:delay。这个方法接受一个参数,就是休眠时间,不过和QNX上的sleep方法不同,delay方法的休眠时间以毫秒为单位,不是以秒为单位。这样大家就可以通过delay(200)使线程等待200毫秒了,可以细致地控制线程的运行。原创 2011-09-14 10:54:55 · 4068 阅读 · 0 评论 -
QNX多线程同步之Mutex
之前提到了QNX上的线程创建方法,现在进一步学习QNX上多线程的同步。曾经编写过多线程应用的同学们都知道线程之间的同步在多线程环境中特别重要,线程之间如果没有同步好,经常会出现逻辑错误。有关QNX线程同步在QNX官方文档《QNX Neutrino Programmer’s G原创 2011-09-09 14:30:00 · 3917 阅读 · 1 评论 -
QNX 多线程样例分析
在QNX Momentics环境中有几个样例供初学者参考,学习QNX多线程编程的一个好方法是导入QNX的多线程样例,测试运行后分析样例代码,和自己编写测试样例相比,这种方法可以减少输入错误,配置错误等低级错误带来的问题。 在QNX Momentics中选择“File-原创 2011-09-08 18:26:06 · 3621 阅读 · 0 评论 -
QNX 中的线程休眠
在多线程环境中,经常会需要让一个线程等待一段时间。象我这样之前使用java编程的人第一时间想到的当然是sleep()方法,因为它使用很方便。在QNX环境中也有sleep()方法,调用方式也很简单,在sleep()方法中传入一个整型参数就好了,如:sleep(10);以上方原创 2011-09-08 11:39:33 · 3153 阅读 · 0 评论 -
QNX 上的多线程编程
在QNX 文本界面编程除了简单的键盘输入,控制台输出以外,还有好多重要的知识点需要学习,包括多线程,线程同步,进程通讯,资源管理器(硬件驱动)等等。首先了解一下QNX环境下的多线程编程。QNX环境实现了多线程并发,多线程切换时的复杂处理已经由内核实现了,开发人员需要做的就是创原创 2011-09-08 11:35:53 · 3258 阅读 · 0 评论 -
理解APCS-- ARM过程调用标准
因为需要在QNX Momentics中混合C语言和ARM汇编进行开发,于是初步了解了一下APCS。和大家分享一下我自己的学习过程,然后通过一个形象一点的类比讲述我自己的理解。 刚开始的时候我是不知道有APCS这回事,所以第一次从C语言中调用ARM汇编函数的时候返回就出错了原创 2011-09-22 00:15:58 · 15801 阅读 · 12 评论