如何在linux下用eclipse开发C/c++程序?
在Linux使用Eclipse + CDT开发C/C++程序步骤如下: 将以下内容添加到文件末尾,然后存盘重启Ubuntu
1. 将/eclipse-sdk-3.6.1-linux-gtk.tar.gz到/usr/local/下 root@maxw-desktop:/# cp /home/maxw/Downloads/Eclipse/org.eclipse.cdt-3.1.2-linux.x86.tar.gz /usr/local/cdt 3. root@maxw-desktop:/usr/local# cd cdt 5.安装plugin
2. 选择Managed Make C++ Project(若选择Managed Make C++ Project,Eclipse会自动为建立make file;若选择Standard Make C++ Project,则必须自己写make file。)
什么是嵌入式系统开发?
嵌入式系统开发是指在各种微型处理器运行嵌入式系统下进行开发,一般常用的操作系统有Win C++E、Palm、uLinux、uCOS,现在又多了Symbian等,其实只要会C/C++、汇编语言,在哪里都差不多,都有相应的SDK开发包。
嵌入式系统是一种专用的计算机系统,它由各种“单片机”或叫微控制器再加上其它***电路组成。要求这个小小“计算机”,体积小、功耗低、成本低、实时性强、可靠性高。这是个小小的“专用”的“计算机”,不追求最高性能,适用就行。
C语言如何开发桌面GUI应用程序?
这里介绍一种非常简单的方法,使用GTK,一个基于C语言开发的跨平台图形工具包,可以直接使用C语言快速完成桌面GUI程序的开发,下面我简单介绍一下实现过程,主要内容如下:
1.首先,下载安装GTK,这里有2种方法,一种是按照GTK***的方法一步一步配置,还有一种是直接使用打包好的GTK-bundle包,这里以第二种方法为例,直接使用打包好的GTK-bundle包,这个可以直接在CSDN上找到下载,如下,解压这个zip文件到任意一个文件夹,之后需要将bin目录添加到环境变量中:
2.接着打开cmd窗口,输入一下“pkg-config --cflags gtk+-3.0”命令,如果输出如下,则说明配置成功:
这时你就可以测试一下GTK自带的示例,直接输入命令“gtk3-demo”就行,效果如下,就会弹出所有GTK自带的GUI示例:
3.最后就是我们在C语言中引入GTK,然后实现GUI程序开发了,这里以Code::Blocks软件为例,需要分别是设置一下编译器和链接器,如下:
打开Code::Blocks,依次点击菜单栏的“Settings”->"Compiler...",在编译器设置下面添加一行命令“`pkg-config --cflags gtk+-3.0`”,注意是反引号,主要作用是引入编译所需要的头文件:
纯C的很少,windows32 sdk和linux的gtk是为数不多的2个库。
现代基本没有用C开发gui的,C++是更好的选择,像qt mfc比win32好用得多。
开发效率更高的是python,tkinter wxwidget pyqt都很方便
如何建立Windows下基于C语言的[_a***_]开发?
回答这个问题之前,我先来带大家看几个名词概念。
什么是SDK?
SDK(software development kit),顾名思义,也就是软件开发工具包的意思!她包括特定软件包、软件框架、硬件平台、以及操作系统等开发应用软件的开发工具***。那么Android SDK,就是Android开发者工具包的意思。
什么是JNI?
JNI的全称是java Native Interface (我们把它叫做Java本地编程接口),它的存在是方便J***a代码和其他语言写的代码进行交互。
什么是NDK?
NDK(native development kit),我们姑且称之为本地或者说原生开发工具包,因为Android本身是基于Linux的,所以从诞生一开始就是支持C/C++开发的,只是早期谷歌官方不支持,开发难度极大,直到有一天NDK出现。
那么为什么Android需要C语言进行开发?到底windows下如何基于C语言进行Android开发?可以纯C开发吗?
apk的j***a代码很容易被反编译,但是C/C++代码反汇难度较大,而几乎大部分的开源库都是C/C++,并且C/C++的执行效率是要远超过基于虚拟机的J***a代码的,并且可移植性能非常好,所以C/C++开发就应用而生,Google很显然也发现了这一点。
说了这么多你大概心里有底了,也就是说你只需要在安装NDK就可以很好的在Windows上进行J***a开发了,它提供了一系列工具,帮助开发者快速开发C/C++动态库,并能自动将so和j***a应用一起打包成apk文件,还集成了交叉编译器,可以说非常方便。
但是NDK所提供的API非常有限,C 标准库、标准数学库、压缩库、Log 库等,这就是目前能支持的库。
即使Google曾多次表示要进一步完善NDK生态,并且表明要加强NDK的调试能力,但是很显然这并不是Android的主流开发方式,至少目前还是J***a,但是未来会是什么语言?Go、Python、kotlin?我们不得而知,毕竟现在很多app都用JavaScript做Web App了。