-2

单击网站上的按钮后,我想尝试调用用 C/C++ 编写的函数。例如,假设我有一个带有图像和按钮的网站;单击按钮后,我想运行一个 C 例程,该例程可能执行一些过滤(可能是低通/模糊过滤器),然后用模糊图像更新图像(最好不重新加载整个网站)。

我的理解是您不能直接在 javascript 中执行此操作,因为它是在客户端运行的。我知道你可以用 php 调用 C 函数,但我的理解是 php 在网站加载时被解析/运行,然后 php 基本上完成(尽管这可能是错误的或不完整的)。

那么,我应该采取什么一般路径来调用这个 C 函数作为按钮回调,让它在服务器上运行,然后返回并更新图像。如果可能的话,我想只使用主要语言,比如 php、javascript,如果需要的话,可能是 jquery 或 AJAX 等。

4

3 回答 3

4

如果你知道如何从 php 调用你的 c 函数,那么你就差不多完成了。

“无需重新加载整个网站”是指使用 AJAX。最简单的方法可能是使用JQuery.ajax来执行 ajax 请求,该请求从服务器获取结果,然后将其放入页面中。

于 2013-09-03T14:10:49.147 回答
3
      Server               |        Client      
---------------------------------------
                           |   Client requests page
             /-------------+-------------/ 
PHP generates a GUI and    |
sends HTML/javascript to   |
client to tell browser what|
to display                 |
         \-----------------+---------\    
                           |        User uses GUI to issue a command
                           |        one that should run a server side action
                           |        an ajax request is sent to inform the server 
                           |        of the request 
    /----------------------+-----------/
Server recuieves an ajax   |
request, this tells the    |
server to run a command    |
The command is run and the |
server returns to the user |
updated data               |
   \-----------------------+--------------\
                           |    Updated data is recieve by the browser and capture as
                           |    a return on a ajax request. The image is updated as per
                           |    the users expectations.                       
于 2013-09-03T14:19:11.410 回答
0

如果我需要这样做,我会使用 node.js (javascript),并编写一个 node.js 插件来包装我的 C 函数,然后通过某种休息 API 调用它:

http://www.nodejs.org/api/addons.html

于 2013-09-03T14:14:25.870 回答