headguard.pl.svn-base

来自「AVR单片机下」· SVN-BASE 代码 · 共 55 行

SVN-BASE
55
字号
#! /usr/bin/perl -w
use strict;

my $delfile = "rm";
my $scriptName = "HeadGenerator";

my $fn;
my $tfn;
my $iscr = 0;
my $smod;
my $guard;
($fn, $smod) = @ARGV;
if(!defined($fn)){
    $fn = <STDIN>;
    chomp $fn;
}
print "$scriptName Opening...... $fn\n";
if(-e $fn){
    print "File Exists\n";
    $tfn = $fn.'.tmp';
    $iscr = 1;
    rename $fn, $tfn;
    open FH, '>'.$fn || die "I can not open target file";
}
else{
    $iscr = 0;
    open FH, '>'.$fn || die "I can not open target file";
}
print "$scriptName Opened!        $fn\n";

#鐢熸垚guard
$guard = uc $fn;
$guard =~ s(\\)(/)g;
$guard =~ s(^.*/)()g;
$guard =~ s/\./_/g;
$guard .= '_INCLUDED';
print "Include Guard: $guard\n";

print FH "#ifndef $guard\n";
print FH "#define $guard\n";

if($iscr){
    print FH "\n\n";
    open  FTH, $tfn || die "I cant open tmp file";
    while(<FTH>){
        print FH;
    }
    close FTH;
    system($delfile, $tfn);
}
print FH "\n\n#endif\n";

close FH;
print "$scriptName - $guard - $fn .....OK!\n";

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?