用php调用C函数,常通过调用系统命令函数的方式来实现,其中主要有system()和exec()两种,还有一种是passthru(),这种方法没有尝试,暂不作讨论。

system()方法输出并返回最后一行的shell结果。

exec()不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。

相同点是都可以获取命令执行的状态码。

PHP调用C函数方法为:

如果C函数为一个简单的hello world,文件名称为hello.c。

#include <stdio.h>

main()

{

printf("hello world!");

}

注意:如果多行输出要用"<br>"不要"\n"

首先gcc编译成 gcc hello.c -o hello

然后再php函数中写一个函数:

<?php

$r = exec("./hello");

echo $r;

?>

如果是exec,如果在浏览器中执行结果的话,会出现1个hello world(echo $r产生),如果用system来调用的话,则会出现两个hello world!(./hello和echo $r产生)。

当然还可以通过php扩展的方式来实现php调用c函数!

PHP 调用C的代码相关推荐

  1. SAP WM初阶之MIGO过账后自动调用LT06事务代码

    SAP WM初阶之MIGO过账后自动调用LT06事务代码 1, 执行事务代码MIGO,移动类型201,做一笔发货到成本中心的过账. 输入好相关数据后,过账, 系统自动生成物料凭证号,且自动切换到LT0 ...

  2. C#调用DataV token代码

    C#调用DataV token代码 public static string GetUrl(string screenID, string token) { string time = ((DateT ...

  3. python导入json模块_Python调用json模块代码实例

    本篇文章小编给大家分享一下Python调用json模块代码实例,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. Json是JavaScript Object Notation ...

  4. React Native实现js调用安卓原生代码

    1 问题 实现js调用安卓原始代码,直接上代码,简单粗暴 2 代码实现 1) 实现一个继承ReactContextBaseJavaModule的类,MyToastModule.java文件如下 pub ...

  5. lisp java_从Java调用的LISP代码

    长篇小说: 我正在为我的函数编程类做一个项目,我想到在Lisp中为 Mario AI competition . 我正在研究从Java调用LISP代码的框架/库/方式,甚至更好的LISP Java互通 ...

  6. Stateflow使用C语言结构体,关于使用Stateflow调用外部C代码的教程介绍

    无论是Simulink仿真,还是对模型做代码生成,已有C代码的调用都是我们经常会遇到的情形: 如何调用现有的外部C代码? 很多人首先想到的是S-Function.的确,S-Function提供了一种途 ...

  7. Android 快速实现新手引导层的库,通过简洁链式调用,一行代码实现引导层的显示

    NewbieGuide 项目地址:huburt-Hu/NewbieGuide  简介:Android 快速实现新手引导层的库,通过简洁链式调用,一行代码实现引导层的显示 更多:作者   提 Bug 标 ...

  8. JNI 最简单的Java调用C/C 代码

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! JNI_ ...

  9. 怎么把emlog文章做成html,EMLOG调用文章图片代码

    EMLOG调用文章图片代码 蓝叶    网站设计    2015-02-09    10100    6评论 这个代码只能获取文章通过后台上传插入附件上传的图片,且只获取图片的最后更新的一张图片:文章 ...

  10. python调用c/c++代码以及解决ctypes.ArgumentError: argument 1: class 'TypeError': Don't know how to convert

    python在人工智能大潮的推动下越来越火,但python作为高级语言,在运行效率的上存在着短板.不过python作为胶水语言可以调用c/c++代码,这样就可以把耗时的运算操作用c/c++实现,然后用 ...

最新文章

  1. 6月书讯 | 如果有一本书伴随你十年编程,那一定是它
  2. delphi 数据库显示的TDBGrid配置
  3. 怎样写出无法维护的代码
  4. opencv进阶学习笔记14:分水岭算法 实现图像分割
  5. 4、线程范围内的数据共享之ThreadLocal
  6. 如何在Ubuntu系统下搭建Android开发环境
  7. 疑难杂症--由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作
  8. python现在时间减去过去时间等于20分钟怎么写_获取当前时间减去10分钟的话SQL语句怎么写...
  9. 关于TCHAR和string对象的c.str()一些注意事项
  10. [导入]vs2005视频教程 之 编译程序集和发布网站 [视频]
  11. linux抓包查看请求接口源ip,linux 抓包
  12. canon iPF 系列保养墨盒清零方法
  13. 如何低格台式计算机的硬盘,低级格式化,教您硬盘如何进行低级格式化
  14. Quest、Mission、Task——游戏中的“任务”
  15. 洛谷P2851 [USACO06DEC]The Fewest Coins G 题解
  16. jpi多表联查_MyBatis多表间级联查询
  17. iPhone手机怎么打开开发者模式?iPhone手机如何测试uni-app HBuilder
  18. 嵌入式arm-linux的优点,ARM嵌入式主板有哪些优点和缺点
  19. c#文件操作代码段保存
  20. Windows申请iOS证书上架App Store详细教程 (有这一篇就够了)

热门文章

  1. 涉及位操作的算法辑录
  2. vector容器中erase(删除)的使用
  3. jetson nano 用 tensorrt 运行 nanodet(kitti数据集)
  4. POJ - 3160 Father Christmas flymouse tanjar缩点构图+dfs
  5. 【神经网络】(19) ConvNeXt 代码复现,网络解析,附Tensorflow完整代码
  6. LeetCode刷题记录2——217. Contains Duplicate(easy)
  7. 计算机社团部门职责,部门职责
  8. CamVox:一种低成本、高精度的激光雷达辅助视觉SLAM系统
  9. 傅里叶频域,复数域,冲激函数,香农采样(不介绍公式-只介绍是啥)另一种思维
  10. 模仿滴滴单车解锁的时候,从0%到90%的欺骗加载动画效果