首页 > 代码库 > php对nesc编译后的文件处理
php对nesc编译后的文件处理
<?php $f_output = fopen("app_out.c","w"); $f_input = fopen("app.c","r"); while (!feof($f_input)) while (!feof($f_input)) { $next_match = 1; $line = fgets($f_input); // 1、代码位置信息(如:# 19 、#line 22) $pattern = ‘/(^(#line\s\d+))|(^(#\s\d+)(.*))/‘; // $replacement = ‘// ${0}‘; $replacement = ‘‘; $r = preg_match($pattern, $line); if($r ) { $line = preg_replace($pattern, $replacement, $line); break; } // 2、内联函数标志信息(如: inline ) $pattern = ‘/(\b__inline\b)|(__inline\b)/‘; // $replacement = ‘/* ${0} */‘; // $replacement = ‘inline‘; $replacement = ‘‘; $r = preg_match($pattern, $line); if($next_match && $r ) { $line = preg_replace($pattern, $replacement, $line); $next_match = 0; } // 3、$符号的处理 $contents = $line; $pattern = ‘/(\w+)(\$)(\w+)/‘; $replacement = ‘${1}__${3}‘; $matchCount = 0; while($next_match) { $r = preg_match($pattern, $contents); if($r ) { $matchCount++; $contents = preg_replace($pattern, $replacement, $contents); } else { if( $matchCount == 0 ) { break; } $line = $contents; $next_match = 0; break; } } fputs($f_output,$line); } fclose($f_input); fclose($f_output); ?>
php对nesc编译后的文件处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。