BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #9833同步于 2010/4/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

[合集] 小女子弱问php调用c语言的问题

xw2423
2010/4/11镜像同步0 回复
☆─────────────────────────────────────☆ preandpre (pop) 于 (Sat Jun 6 20:01:06 2009) 提到: 下面有两种方案执行程序 1.C语言访问数据库 then C语言执行算法(算法比较复杂,需要很长时间)then c语言将结果返回给PHP 2.php直接读数据库并执行这个算法 请问哪种方案比较好,我个人比较偏向2,但是又说不太清楚2哪里好,请各位大牛赐教 ☆─────────────────────────────────────☆ yegle (我是白白胖胖的听话的乖小狗) 于 (Sat Jun 6 20:04:23 2009) 提到: 直接用c写php函数不行? 【 在 preandpre (pop) 的大作中提到: 】 : 下面有两种方案执行程序 : 1.C语言访问数据库 then C语言执行算法(算法比较复杂,需要很长时间)then c语言将结果返回给PHP : 2.php直接读数据库并执行这个算法 : ................... ☆─────────────────────────────────────☆ preandpre (pop) 于 (Sat Jun 6 20:10:34 2009) 提到: 是个网站的子模块,所以不能这么干~ 【 在 yegle 的大作中提到: 】 : 直接用c写php函数不行? ☆─────────────────────────────────────☆ dickfu (潇湘天下|小付寨主) 于 (Sat Jun 6 20:59:05 2009) 提到: 就用2就行了 【 在 preandpre (pop) 的大作中提到: 】 : 下面有两种方案执行程序 : 1.C语言访问数据库 then C语言执行算法(算法比较复杂,需要很长时间)then c语言将结果返回给PHP : 2.php直接读数据库并执行这个算法 : ................... ☆─────────────────────────────────────☆ preandpre (pop) 于 (Sat Jun 6 21:00:55 2009) 提到: 得说出理由啊~ 【 在 dickfu 的大作中提到: 】 : 就用2就行了 ☆─────────────────────────────────────☆ reeze (Reeze) 于 (Sat Jun 6 21:41:29 2009) 提到: 如果算法时间长用php执行更慢啊。。。。如果算法复杂。就直接C处理吧。如果要给php留接口就给php也写个接口调用就好了。。 ☆─────────────────────────────────────☆ reeze (Reeze) 于 (Sat Jun 6 22:25:25 2009) 提到: 如果算法时间长用php执行更慢啊。。。。如果算法复杂。就直接C处理吧。如果要给php留接口就给php也写个接口调用就好了。。 ☆─────────────────────────────────────☆ dickfu (潇湘天下|小付寨主) 于 (Sat Jun 6 22:42:12 2009) 提到: 有些操作可以直接在查询里面就做了 【 在 preandpre (pop) 的大作中提到: 】 : 得说出理由啊~ ☆─────────────────────────────────────☆ chit (chit) 于 (Sat Jun 6 23:01:57 2009) 提到: 其实php的执行效率和C没有多少区别的 【 在 preandpre (pop) 的大作中提到: 】 : 下面有两种方案执行程序 : 1.C语言访问数据库 then C语言执行算法(算法比较复杂,需要很长时间)then c语言将结果返回给PHP : 2.php直接读数据库并执行这个算法 : ................... ☆─────────────────────────────────────☆ dragon2000 (龙之梦工作室) 于 (Sat Jun 6 23:06:25 2009) 提到: 方法2的好处是直接处理,不用解决什么互相调用的接口问题。代码写得好的话,性能也未必会差。我也经常这么做。 方法1好像没有必要把结果返回给PHP。直接用C写成CGI程序,浏览器直接访问CGI就是了。麻烦的问题是如果PHP和CGI之间有session之类的权限认证,自己要用安全算法去处理(类似单点登录功能)。 加一个方法3:假如运算时间非常长,超过浏览器等待时限(超过15秒就算很长了,这在大数据量统计的时候很常见),通常就用C做成后台服务程序,只和数据库打交道。PHP也只和数据库打交道,不过是存放运算参数、取计算结果和显示。 ☆─────────────────────────────────────☆ dragon2000 (龙之梦工作室) 于 (Sat Jun 6 23:16:13 2009) 提到: 用PHP做个1280位离散对数加密程序,已经可以看出明显区别,不过勉强还可以接受。 如果用PHP做PPM数据压缩,不用试,我肯定到了次序3就会直接挂掉。 算法复杂起来真的没谱。 【 在 chit 的大作中提到: 】 : 其实php的执行效率和C没有多少区别的 ☆─────────────────────────────────────☆ chit (chit) 于 (Sat Jun 6 23:45:58 2009) 提到: 如果真的有那么复杂直接exec就完了。 【 在 dragon2000 (龙之梦工作室) 的大作中提到: 】 : 用PHP做个1280位离散对数加密程序,已经可以看出明显区别,不过勉强还可以接受。 : 如果用PHP做PPM数据压缩,不用试,我肯定到了次序3就会直接挂掉。 : 算法复杂起来真的没谱。 : ................... ☆─────────────────────────────────────☆ coolfantasy (Cool) 于 (Sat Jun 6 23:52:49 2009) 提到: PHP 很耗 CPU ☆─────────────────────────────────────☆ coolfantasy (Cool) 于 (Sat Jun 6 23:57:14 2009) 提到: 方法4: PHP Extension 【 在 dragon2000 (龙之梦工作室) 的大作中提到: 】 : 方法2的好处是直接处理,不用解决什么互相调用的接口问题。代码写得好的话,性能也未必会差。我也经常这么做。 : 方法1好像没有必要把结果返回给PHP。直接用C写成CGI程序,浏览器直接访问CGI就是了。麻烦的问题是如果PHP和CGI之间有session之类的权限认证,自己要用安全算法去处理(类似单点登录功能)。 : 加一个方法3:假如运算时间非常长,超过浏览器等待时限(超过15秒就算很长了,这在大数据量统计的时候很常见),通常就用C做成后台服务程序,只和数据库打交道。PHP也只和数据库打交道,不过是存放运算参数、取计算结果和显示。 : ................... ☆─────────────────────────────────────☆ chit (chit) 于 (Sun Jun 7 00:07:19 2009) 提到: 前面有人说了,呵呵 【 在 coolfantasy (Cool) 的大作中提到: 】 : 方法4: PHP Extension ☆─────────────────────────────────────☆ dragon2000 (龙之梦工作室) 于 (Sun Jun 7 01:55:52 2009) 提到: 受到PHP解释器的影响,反而更多莫明其妙的问题,这个真的没弄明白了。但愿别人没碰上。 对了,如果exec的程序出错的时候,应该怎么调试查错?直接PHP出错我可以调试,纯C程序出错也可以调试,就是这个觉得比较棘手。 【 在 chit 的大作中提到: 】 : 如果真的有那么复杂直接exec就完了。 ☆─────────────────────────────────────☆ dickfu (潇湘天下|小付寨主) 于 (Sun Jun 7 03:00:38 2009) 提到: exec不就是纯c程序么... 【 在 dragon2000 (龙之梦工作室) 的大作中提到: 】 : 受到PHP解释器的影响,反而更多莫明其妙的问题,这个真的没弄明白了。但愿别人没碰上。 : 对了,如果exec的程序出错的时候,应该怎么调试查错?直接PHP出错我可以调试,纯C程序出错也可以调试,就是这个觉得比较棘手。 ☆─────────────────────────────────────☆ coolfantasy (Cool) 于 (Sun Jun 7 09:31:58 2009) 提到: 好吧。。。 【 在 chit (chit) 的大作中提到: 】 : 前面有人说了,呵呵 ☆─────────────────────────────────────☆ coolfantasy (Cool) 于 (Sun Jun 7 09:33:06 2009) 提到: exec 可以捕获 C 程序的返回值,我觉得对调试有利 【 在 dragon2000 (龙之梦工作室) 的大作中提到: 】 : 受到PHP解释器的影响,反而更多莫明其妙的问题,这个真的没弄明白了。但愿别人没碰上。 : 对了,如果exec的程序出错的时候,应该怎么调试查错?直接PHP出错我可以调试,纯C程序出错也可以调试,就是这个觉得比较棘手。 ☆─────────────────────────────────────☆ dragon2000 (龙之梦工作室) 于 (Sun Jun 7 10:26:18 2009) 提到: 好像是先执行一段PHP程序,然后exec去调用C程序的吧?如果我没理解错的话。 问题就是单独调试PHP没错,单独调试C也没错,合一起exec就可能出问题。想模拟出一种exec的环境来调试也不行,模拟之后错误不能重现。 exec用来整合两个已有的C和PHP程序是比较省事,但如果是自己开发的程序,感觉上复杂度低的程序不如直接写成PHP,复杂度高的不如单独执行的C程序。 【 在 dickfu 的大作中提到: 】 : exec不就是纯c程序么... ☆─────────────────────────────────────☆ dragon2000 (龙之梦工作室) 于 (Sun Jun 7 10:36:03 2009) 提到: 如果是不太复杂的程序,怎么调试都能很容易查出问题,要不要返回值都影响不大。 复杂如7-zip的程序,单步跟踪、插值测试都难奏效,区区返回值的信息量实在起不了多大帮助。 【 在 coolfantasy 的大作中提到: 】 : exec 可以捕获 C 程序的返回值,我觉得对调试有利 ☆─────────────────────────────────────☆ BookMoth (书中蠹鱼) 于 (Sun Jun 7 20:19:06 2009) 提到: 我发现……dragon2000特喜欢跟人较劲…… ☆─────────────────────────────────────☆ BookMoth (书中蠹鱼) 于 (Sun Jun 7 20:19:29 2009) 提到: 唔……居然能发帖了。真好。留念 ☆─────────────────────────────────────☆ dragon2000 (龙之梦工作室) 于 (Sun Jun 7 22:12:35 2009) 提到: 这也算较劲?意见一样的时候我就不发言了,没有新信息。 人人的经历都不一样,不是说我的意见就会适合其他人。 顺便补充:我调试时不怎么依赖返回值,而是更多地利用自己程序运行生成的日志信息,需要什么信息就保存什么日志。 这也是因为很少用exec,以便尽量减少中间环节——前面说过用exec可能会很省事(例如调用系统功能,本身系统错误很少),但是我这里经常都不省事。 ☆─────────────────────────────────────☆ BookMoth (书中蠹鱼) 于 (Sun Jun 7 22:45:41 2009) 提到: 这要不算,上次include肯定是要算的。。。。。 【 在 dragon2000 的大作中提到: 】 : 这也算较劲?意见一样的时候我就不发言了,没有新信息。 : 人人的经历都不一样,不是说我的意见就会适合其他人。 : 顺便补充:我调试时不怎么依赖返回值,而是更多地利用自己程序运行生成的日志信息,需要什么信息就保存什么日志。 : ................... ☆─────────────────────────────────────☆ dragon2000 (龙之梦工作室) 于 (Sun Jun 7 23:48:05 2009) 提到: include那个问我算是问出东西了(虽然是异类的东西),我以为我也会问出别的东西。 不过有机会找到新信息,还是不容错过。当然有人肯讨论才行。 ☆─────────────────────────────────────☆ coolfantasy (Cool) 于 (Mon Jun 8 10:34:11 2009) 提到: 支持 dragon2000 我喜欢看他发帖 没有碰撞就不精彩了 ☆─────────────────────────────────────☆ chit (chit) 于 (Mon Jun 8 10:55:34 2009) 提到: 撞! 【 在 coolfantasy (Cool) 的大作中提到: 】 : 支持 dragon2000 : 我喜欢看他发帖 : 没有碰撞就不精彩了 : ...................
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。