2012-02-23 59 views
0

是否可以创建一个可以通过浏览器运行的C++应用程序?有什么办法可以将C++应用程序与数据库连接起来(Mac,Linux和Windows都可以使用它)。为网络编写C++

+1

您的意思是在浏览器中运行C++代码(在这种情况下请参阅http://code.google.com/p/nativeclient/)或为运行在C++中的服务器编写Web服务? – andrewmu 2012-02-23 14:35:50

+1

将C++应用程序与数据库链接起来是什么意思?我的意思是,当然,您可以轻松使用C++访问各种数据库。 – Tim 2012-02-23 14:35:01

回答

4

完全可以做到这一点,当天(当时没有PHP),很多Web应用程序都是用C++编写的。有一个称为CGI的标准,可以方便您的应用程序和您的Web服务器之间的通信。这个tutorial显示了一个热点,可以将它设置为一个Apache Web服务器,使用Perl作为目标语言。你应该可以编写一个C++程序来打印出相同的文本并进行测试。

根据您的需要和数据库系统,可以使用各种库使用C++访问数据库。尽管所有这些都是完全可能的,但我会感兴趣的是,为什么在那些比C++更适合Web应用程序的复杂框架和语言的时代,你会做这样的事情。我当然不会推荐它。

2

如果你的意思是“通过浏览器运行”在浏览器中运行本地代码我知道的唯一方式,在浏览器中执行本地代码是谷歌的NaCl

对于服务器端C++,没有特别的规则适用,这是很常见的。 C++应用程序的所有常规规则(包括数据库和链接)适用于此。

2

如果通过“通过浏览器”,你的意思是一个web应用程序,是的 - 你可以使用C++编写CGI应用程序,就像其他大多数语言一样。请参阅this question的答案。

wt是一个工具包,如果您来自桌面背景,它可能会让您更轻松。

关于便携式数据库层,请看这些twoquestions。如果你需要的只是a跨平台工作的数据库,但不需要能够跨平台切换数据库引擎,那么SQLite可能是一条可行的路。

1

任何脚本语言都可以运行COM。你可以用C++创建COM对象,你可以从php调用服务器端。

2

服务器端C++的CGI或FastCGI。

NaCl用于客户端C++。

与MySql Connector之类的数据库连接。

1

是否可以创建一个可以通过浏览器运行的C++应用程序?

我不确定您的意思是“通过浏览器运行”(或者,对于“C++应用程序”)。 pmr已经提到Google NaCl作为一种选择。如果“C++应用程序”包含C++插件,那么“肯定,你可以。” You can compile C++ to Javascript。如果你在谈论网站或网络服务,我可以说:“是的,这是可能的;我维护一个使用C++作为后端的Web服务,亚马逊曾经用C++编写,你有什么特别的问题吗?”

可以用图灵语言编写很多东西。这并不意味着这是一个好主意。

有什么办法可以将C++应用程序与数据库(Mac,Linux和Windows都可以使用)连接起来。

再次,我不确定“链接...与数据库”是什么意思。您当然可以使用ODBC,DTL,LDAP或MongoDB等数据库与数据库进行交互。你也可以在你的程序中嵌入数据库,使用SQLite,嵌入式MySQL,Firebird嵌入式,Berkeley DB,LevelDB或微软今天称之为Microsoft Jet的东西。你有特别的问题吗?