问两个问题

1.请问能用U盘做QNX下的启动盘吗?怎么做?
2.QNX下C语言的动态联接库怎么写?包括调用动态联接库的一端和被调用的动态联接库,能不能给一个简单的例子?

应该和硬盘一样处理吧,只要能认出来

动态联接库在写法上和一般的应用程序没什么不同,只是没有main函数。
但在编译的时候来指明是编译成动态联接库。

如果你有QNX下的IDE,在建立工程的时候选QNX C Project,然后在第二页把Type改一下就可以了。
如果是用gcc,就看看gcc的用法吧。
下面是IDE一下简单例子的make输出,也许你可以参考一下:

make -k all --file=D:/QNX630/ide4-workspace-test/testSharedLib/QMakefile20355.tmp 
make -j 1 -Cx86 -fMakefile all
make[1]: Entering directory `D:/QNX630/ide4-workspace-test/testSharedLib/x86'
make -j 1 -Cso-g -fMakefile all
make[2]: Entering directory `D:/QNX630/ide4-workspace-test/testSharedLib/x86/so-g'
D:/QNX630/host/win32/x86/usr/bin/qcc -Vgcc_ntox86 -c -Wc,-Wall -Wc,-Wno-parentheses               -I. -ID:/QNX630/ide4-workspace-test/testSharedLib/x86/so -ID:/QNX630/ide4-workspace-test/testSharedLib/x86/so-g -ID:/QNX630/ide4-workspace-test/testSharedLib/x86 -ID:/QNX630/ide4-workspace-test/testSharedLib -ID:/QNX630/target/qnx6/usr/include      -g  -shared   -DVARIANT_so -DVARIANT_g  D:/QNX630/ide4-workspace-test/testSharedLib/x86/testlib.c 
D:/QNX630/host/win32/x86/usr/bin/rm -f  D:/QNX630/ide4-workspace-test/testSharedLib/x86/so-g/libtestSharedLib_g.so
D:/QNX630/host/win32/x86/usr/bin/qcc -Vgcc_ntox86  -shared -Wl,-hlibtestSharedLib_g.so.1    -oD:/QNX630/ide4-workspace-test/testSharedLib/x86/so-g/libtestSharedLib_g.so    testlib.o  -L. -LD:/QNX630/target/qnx6/x86/lib -LD:/QNX630/target/qnx6/x86/usr/lib      -g      
D:/QNX630/host/win32/x86/usr/bin/rm -f  D:/QNX630/ide4-workspace-test/testSharedLib/x86/so-g/libtestSharedLib_gS.a
D:/QNX630/host/win32/x86/usr/bin/ntox86-ar -r  D:/QNX630/ide4-workspace-test/testSharedLib/x86/so-g/libtestSharedLib_gS.a testlib.o 
make[2]: Leaving directory `D:/QNX630/ide4-workspace-test/testSharedLib/x86/so-g'
make[1]: Leaving directory `D:/QNX630/ide4-workspace-test/testSharedLib/x86'

不对吧,你说的是静态链接库,而不是动态链接库。

静态链接库在编译的时候将需要用到的代码嵌入到程序中,所以在运行该程序时,不论你调用还是不调用都要放入内存中的;

而动态链接库可以作为一个单独的文件,在程序运行中,需要调用的时候才由系统将它放入内存中运行,若不调用,那么八辈子也不会把它放入内存占用系统资源的。