char *inString =
(((inStringSV)->sv_flags & (0x00000400)) ==
0x00000400 ? ((in_len = ((XPV *) (inStringSV)->sv_any)->xpv_cur),
((inStringSV)->sv_u.svu_pv)) : Perl_sv_2pv_flags (my_perl, inStringSV, &in_len,
2));
####
if (items != 3)
S_croak_xs_usage(my_perl, cv,"Destination, Source, Length");
####
Microsoft (R) Incremental Linker Version 7.10.6030
Copyright (C) Microsoft Corporation. All rights reserved.
usage: LINK [options] [files] [@commandfile]
options:
/ALIGN:#
/ALLOWBIND[:NO]
/ASSEMBLYDEBUG[:DISABLE]
/ASSEMBLYLINKRESOURCE:filename
/ASSEMBLYMODULE:filename
/ASSEMBLYRESOURCE:filename
/BASE:{address|@filename,key}
/DEBUG
/DEF:filename
/DEFAULTLIB:library
/DELAY:{NOBIND|UNLOAD}
/DELAYLOAD:dll
/DELAYSIGN[:NO]
/DLL
/DRIVER[:{UPONLY|WDM}]
/ENTRY:symbol
/EXETYPE:DYNAMIC
/EXPORT:symbol
/FIXED[:NO]
/FORCE[:{MULTIPLE|UNRESOLVED}]
/HEAP:reserve[,commit]
/IDLOUT:filename
/IGNOREIDL
/IMPLIB:filename
/INCLUDE:symbol
/INCREMENTAL[:NO]
/KEYFILE:filename
/KEYCONTAINER:name
/LARGEADDRESSAWARE[:NO]
/LIBPATH:dir
/LTCG[:{NOSTATUS|PGINSTRUMENT|PGOPTIMIZE|STATUS}]
(PGINSTRUMENT and PGOPTIMIZE are only available for IA64)
/MACHINE:{AM33|ARM|EBC|IA64|M32R|MIPS|MIPS16|MIPSFPU|MIPSFPU16|MIPSR41XX|
SH3|SH3DSP|SH4|SH5|THUMB|X86}
/MAP[:filename]
/MAPINFO:{EXPORTS|LINES}
/MERGE:from=to
/MIDL:@commandfile
/NOASSEMBLY
/NODEFAULTLIB[:library]
/NOENTRY
/NOLOGO
/OPT:{ICF[=iterations]|NOICF|NOREF|NOWIN98|REF|WIN98}
/ORDER:@filename
/OUT:filename
/PDB:filename
/PDBSTRIPPED:filename
/PGD:filename
/RELEASE
/SAFESEH[:NO]
/SECTION:name,[E][R][W][S][D][K][L][P][X][,ALIGN=#]
/STACK:reserve[,commit]
/STUB:filename
/SUBSYSTEM:{CONSOLE|EFI_APPLICATION|EFI_BOOT_SERVICE_DRIVER|
EFI_ROM|EFI_RUNTIME_DRIVER|NATIVE|POSIX|WINDOWS|
WINDOWSCE}[,#[.##]]
/SWAPRUN:{CD|NET}
/TLBOUT:filename
/TSAWARE[:NO]
/TLBID:#
/VERBOSE[:{LIB|SAFESEH}]
/VERSION:#[.#]
/VXD
/WINDOWSCE:{CONVERT|EMULATION}
/WS:AGGRESSIVE
####
Microsoft (R) Incremental Linker Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
usage: LINK [options] [files] [@commandfile]
options:
/ALIGN:#
/ALLOWBIND[:NO]
/ALLOWISOLATION[:NO]
/ASSEMBLYDEBUG[:DISABLE]
/ASSEMBLYLINKRESOURCE:filename
/ASSEMBLYMODULE:filename
/ASSEMBLYRESOURCE:filename[,[name][,PRIVATE]]
/BASE:{address[,size]|@filename,key}
/CLRIMAGETYPE:{IJW|PURE|SAFE}
/CLRSUPPORTLASTERROR[:{NO|SYSTEMDLL}]
/CLRTHREADATTRIBUTE:{STA|MTA|NONE}
/CLRUNMANAGEDCODECHECK[:NO]
/DEBUG
/DEF:filename
/DEFAULTLIB:library
/DELAY:{NOBIND|UNLOAD}
/DELAYLOAD:dll
/DELAYSIGN[:NO]
/DLL
/DRIVER[:{UPONLY|WDM}]
/DYNAMICBASE[:NO]
/ENTRY:symbol
/ERRORREPORT:{NONE|PROMPT|QUEUE|SEND}
/EXPORT:symbol
/FIXED[:NO]
/FORCE[:{MULTIPLE|UNRESOLVED}]
/FUNCTIONPADMIN[:size]
/HEAP:reserve[,commit]
/IDLOUT:filename
/IGNOREIDL
/IMPLIB:filename
/INCLUDE:symbol
/INCREMENTAL[:NO]
/KEYCONTAINER:name
/KEYFILE:filename
/LARGEADDRESSAWARE[:NO]
/LIBPATH:dir
/LTCG[:{NOSTATUS|PGINSTRUMENT|PGOPTIMIZE|PGUPDATE|STATUS}]
/MACHINE:{ARM|EBC|IA64|MIPS|MIPS16|MIPSFPU|MIPSFPU16|
SH4|THUMB|X64|X86}
/MANIFEST[:NO]
/MANIFESTDEPENDENCY:manifest dependency
/MANIFESTFILE:filename
/MANIFESTUAC[:{NO|UAC fragment}]
/MAP[:filename]
/MAPINFO:{EXPORTS}
/MERGE:from=to
/MIDL:@commandfile
/NOASSEMBLY
/NODEFAULTLIB[:library]
/NOENTRY
/NOLOGO
/NXCOMPAT[:NO]
/OPT:{ICF[=iterations]|NOICF|NOREF|REF}
/ORDER:@filename
/OUT:filename
/PDB:filename
/PDBSTRIPPED:filename
/PGD:filename
/PROFILE
/RELEASE
/SAFESEH[:NO]
/SECTION:name,[[!]{DEKPRSW}][,ALIGN=#]
/STACK:reserve[,commit]
/STUB:filename
/SUBSYSTEM:{BOOT_APPLICATION|CONSOLE|EFI_APPLICATION|
EFI_BOOT_SERVICE_DRIVER|EFI_ROM|EFI_RUNTIME_DRIVER|
NATIVE|POSIX|WINDOWS|WINDOWSCE}[,#[.##]]
/SWAPRUN:{CD|NET}
/TLBID:#
/TLBOUT:filename
/TSAWARE[:NO]
/VERBOSE[:{ICF|LIB|REF|SAFESEH}]
/VERSION:#[.#]
/WX[:NO]
####
C:\Documents and Settings\Administrator\Desktop\w32f>perl makefile.pl
Checking if your kit is complete...
Looks good
Writing Makefile for Win32API::File
Writing MYMETA.yml and MYMETA.json
C:\Documents and Settings\Administrator\Desktop\w32f>
####
# --- MakeMaker cflags section:
CCFLAGS = -nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO
OPTIMIZE = -MD -Zi -DNDEBUG -O1
####
# --- MakeMaker dynamic_lib section:
# This section creates the dynamically loadable $(INST_DYNAMIC)
# from $(OBJECT) and possibly $(MYEXTLIB).
OTHERLDFLAGS =
INST_DYNAMIC_DEP =
$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DFSEP).exists $(EXPORT_LIST) $(PERL_ARCHIVE) $(INST_DYNAMIC_DEP)
$(LD) -out:$@ $(LDDLFLAGS) $(LDFROM) $(OTHERLDFLAGS) $(MYEXTLIB) $(PERL_ARCHIVE) $(LDLOADLIBS) -def:$(EXPORT_LIST)
if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2
if exist $@.manifest del $@.manifest
$(CHMOD) $(PERM_RWX) $@
####
C:\Documents and Settings\Administrator\Desktop\w32f>nmake OPTIMIZE="-MD -Zi -DN
DEBUG -O1 -GL" OTHERLDFLAGS="-LTCG:PGINSTRUMENT pgort.lib " test
Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
cp cFile.pc blib\arch\Win32API\File\cFile.pc
cp File.pm blib\lib\Win32API\File.pm
C:\p517\bin\perl.exe C:\p517\lib\ExtUtils\xsubpp -typemap C:\p517\lib\E
xtUtils\typemap -typemap typemap File.xs > File.xsc && C:\p517\bin\perl.exe -ME
xtUtils::Command -e mv -- File.xsc File.c
Warning: Found a 'CODE' section which seems to be using 'RETVAL' but no 'OUTPUT'
section. in File.xs, line 159
Warning: Found a 'CODE' section which seems to be using 'RETVAL' but no 'OUTPUT'
section. in File.xs, line 181
Warning: Found a 'CODE' section which seems to be using 'RETVAL' but no 'OUTPUT'
section. in File.xs, line 511
cl -c -nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -GL -DWIN32 -D_CONSOLE -DN
O_STRICT -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DPERL_TEXTMODE_
SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -MD -Zi -DNDEBU
G -O1 -GL -DVERSION=\"0.1200\" -DXS_VERSION=\"0.1200\" "-IC:\p517\lib\CORE"
File.c
File.c
Running Mkbootstrap for Win32API::File ()
C:\p517\bin\perl.exe -MExtUtils::Command -e chmod -- 644 File.bs
C:\p517\bin\perl.exe -MExtUtils::Mksymlists -e "Mksymlists('NAME'=>\"Wi
n32API::File\", 'DLBASE' => 'File', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPOR
TS' => { }, 'DL_VARS' => []);"
link -out:blib\arch\auto\Win32API\File\File.dll -dll -nologo -nodefaultl
ib -debug -opt:ref,icf -ltcg -libpath:"c:\p517\lib\CORE" -machine:x86 "/manife
stdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.
0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'" F
ile.obj -LTCG:PGINSTRUMENT pgort.lib C:\p517\lib\CORE\perl517.lib oldnames.lib
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell
32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.li
b version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib -def:File.def
Creating library blib\arch\auto\Win32API\File\File.lib and object blib\arch\a
uto\Win32API\File\File.exp
Generating code
Finished generating code
if exist blib\arch\auto\Win32API\File\File.dll.manifest mt -nologo -mani
fest blib\arch\auto\Win32API\File\File.dll.manifest -outputresource:blib\arch\au
to\Win32API\File\File.dll;2
if exist blib\arch\auto\Win32API\File\File.dll.manifest del blib\arch\au
to\Win32API\File\File.dll.manifest
C:\p517\bin\perl.exe -MExtUtils::Command -e chmod -- 755 blib\arch\auto\
Win32API\File\File.dll
C:\p517\bin\perl.exe -MExtUtils::Command -e cp -- File.bs blib\arch\auto
\Win32API\File\File.bs
C:\p517\bin\perl.exe -MExtUtils::Command -e chmod -- 644 blib\arch\auto\
Win32API\File\File.bs
C:\p517\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'bl
ib\lib', 'blib\arch')" t/*.t
t/file.t .. ok
t/pod.t ... skipped: Test::Pod 1.14 required for testing POD
t/tie.t ... ok
All tests successful.
Files=3, Tests=277, 2 wallclock secs ( 0.14 usr + 0.08 sys = 0.22 CPU)
Result: PASS
C:\Documents and Settings\Administrator\Desktop\w32f>
####
C:\Documents and Settings\Administrator\Desktop\w32f>dir
Volume in drive C has no label.
Volume Serial Number is 0CFF-E7B6
Directory of C:\Documents and Settings\Administrator\Desktop\w32f
07/22/2012 07:13 PM .
07/22/2012 07:13 PM ..
07/22/2012 07:13 PM blib
07/01/2011 02:47 AM 19,006 buffers.h
09/16/2009 05:57 PM 77 cFile.h
09/16/2009 05:57 PM 6,151 cFile.pc
07/22/2012 07:13 PM 0 cFile_pc_to_blib
07/01/2011 10:34 AM 5,637 Changes
09/16/2009 05:57 PM 5,302 const2perl.h
07/22/2012 06:55 PM ex
07/22/2012 06:55 PM ExtUtils
07/22/2012 07:13 PM 0 File.bs
07/22/2012 07:13 PM 49,513 File.c
07/22/2012 07:13 PM 98 File.def
07/22/2012 07:13 PM 348,195 File.obj
07/22/2012 07:13 PM 281,600 File.pgd
07/01/2011 10:34 AM 100,643 File.pm
02/25/2011 06:22 PM 15,217 File.xs
07/22/2012 07:13 PM 35,108 Makefile
07/22/2012 06:58 PM 35,108 Makefile.old
07/01/2011 02:52 AM 6,342 Makefile.PL
07/01/2011 10:36 AM 412 MANIFEST
07/01/2011 10:36 AM 1,141 META.json
07/01/2011 10:36 AM 641 META.yml
07/22/2012 07:13 PM 1,191 MYMETA.json
07/22/2012 07:13 PM 683 MYMETA.yml
07/22/2012 07:13 PM 0 pm_to_blib
09/16/2009 05:57 PM 8,068 ppport.h
07/01/2011 10:35 AM 4,818 README
07/22/2012 06:55 PM t
09/16/2009 05:57 PM 3,449 typemap
07/22/2012 07:13 PM 110,592 vc90.pdb
26 File(s) 1,038,992 bytes
6 Dir(s) 501,818,015,744 bytes free
C:\Documents and Settings\Administrator\Desktop\w32f>
####
C:\Documents and Settings\Administrator\Desktop\w32f>cd C:\Documents and Setting
s\Administrator\Desktop\w32f\blib\arch\auto\Win32API\File
C:\Documents and Settings\Administrator\Desktop\w32f\blib\arch\auto\Win32API\Fil
e>dir
Volume in drive C has no label.
Volume Serial Number is 0CFF-E7B6
Directory of C:\Documents and Settings\Administrator\Desktop\w32f\blib\arch\aut
o\Win32API\File
07/22/2012 07:13 PM .
07/22/2012 07:13 PM ..
07/22/2012 07:13 PM 0 .exists
07/22/2012 07:13 PM 42,680 File!1.pgc
07/22/2012 07:13 PM 42,240 File!2.pgc
07/22/2012 07:13 PM 0 File.bs
07/22/2012 07:13 PM 126,464 File.dll
07/22/2012 07:13 PM 958 File.exp
07/22/2012 07:13 PM 1,946 File.lib
07/22/2012 07:13 PM 371,712 File.pdb
8 File(s) 586,000 bytes
2 Dir(s) 501,818,171,392 bytes free
C:\Documents and Settings\Administrator\Desktop\w32f\blib\arch\auto\Win32API\Fil
e>
####
C:\Documents and Settings\Administrator\Desktop\w32f\blib\arch\auto\Win32API\Fil
e>copy *.pgc "C:\Documents and Settings\Administrator\Desktop\w32f"
File!1.pgc
File!2.pgc
2 file(s) copied.
C:\Documents and Settings\Administrator\Desktop\w32f\blib\arch\auto\Win32API\Fil
e>
####
C:\Documents and Settings\Administrator\Desktop\w32f>dir
Volume in drive C has no label.
Volume Serial Number is 0CFF-E7B6
Directory of C:\Documents and Settings\Administrator\Desktop\w32f
07/22/2012 07:24 PM .
07/22/2012 07:24 PM ..
07/22/2012 07:13 PM blib
07/01/2011 02:47 AM 19,006 buffers.h
09/16/2009 05:57 PM 77 cFile.h
09/16/2009 05:57 PM 6,151 cFile.pc
07/22/2012 07:13 PM 0 cFile_pc_to_blib
07/01/2011 10:34 AM 5,637 Changes
09/16/2009 05:57 PM 5,302 const2perl.h
07/22/2012 06:55 PM ex
07/22/2012 06:55 PM ExtUtils
07/22/2012 07:13 PM 42,680 File!1.pgc
07/22/2012 07:13 PM 42,240 File!2.pgc
07/22/2012 07:13 PM 0 File.bs
07/22/2012 07:13 PM 49,513 File.c
07/22/2012 07:13 PM 98 File.def
07/22/2012 07:13 PM 348,195 File.obj
07/22/2012 07:13 PM 281,600 File.pgd
07/01/2011 10:34 AM 100,643 File.pm
02/25/2011 06:22 PM 15,217 File.xs
07/22/2012 07:13 PM 35,108 Makefile
07/22/2012 06:58 PM 35,108 Makefile.old
07/01/2011 02:52 AM 6,342 Makefile.PL
07/01/2011 10:36 AM 412 MANIFEST
07/01/2011 10:36 AM 1,141 META.json
07/01/2011 10:36 AM 641 META.yml
07/22/2012 07:13 PM 1,191 MYMETA.json
07/22/2012 07:13 PM 683 MYMETA.yml
07/22/2012 07:13 PM 0 pm_to_blib
09/16/2009 05:57 PM 8,068 ppport.h
07/01/2011 10:35 AM 4,818 README
07/22/2012 06:55 PM t
09/16/2009 05:57 PM 3,449 typemap
07/22/2012 07:13 PM 110,592 vc90.pdb
28 File(s) 1,123,912 bytes
6 Dir(s) 501,818,015,744 bytes free
C:\Documents and Settings\Administrator\Desktop\w32f>
####
C:\Documents and Settings\Administrator\Desktop\w32f>cd "C:\Documents and Settin
gs\Administrator\Desktop\w32f\blib\arch\auto\Win32API\File"
C:\Documents and Settings\Administrator\Desktop\w32f\blib\arch\auto\Win32API\Fil
e>del File.dll
C:\Documents and Settings\Administrator\Desktop\w32f\blib\arch\auto\Win32API\Fil
e>dir
Volume in drive C has no label.
Volume Serial Number is 0CFF-E7B6
Directory of C:\Documents and Settings\Administrator\Desktop\w32f\blib\arch\aut
o\Win32API\File
07/22/2012 07:28 PM .
07/22/2012 07:28 PM ..
07/22/2012 07:13 PM 0 .exists
07/22/2012 07:13 PM 42,680 File!1.pgc
07/22/2012 07:13 PM 42,240 File!2.pgc
07/22/2012 07:13 PM 0 File.bs
07/22/2012 07:13 PM 958 File.exp
07/22/2012 07:13 PM 1,946 File.lib
07/22/2012 07:13 PM 371,712 File.pdb
7 File(s) 459,536 bytes
2 Dir(s) 501,817,868,288 bytes free
C:\Documents and Settings\Administrator\Desktop\w32f\blib\arch\auto\Win32API\Fil
e>
####
C:\Documents and Settings\Administrator\Desktop\w32f>nmake OPTIMIZE="-MD -Zi -DN
DEBUG -O1 -GL" OTHERLDFLAGS="-LTCG:PGOPTIMIZE " install
Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
link -out:blib\arch\auto\Win32API\File\File.dll -dll -nologo -nodefaultl
ib -debug -opt:ref,icf -ltcg -libpath:"c:\p517\lib\CORE" -machine:x86 "/manife
stdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.
0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'" F
ile.obj -LTCG:PGOPTIMIZE C:\p517\lib\CORE\perl517.lib oldnames.lib kernel32.li
b user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32
.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.l
ib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib -def:File.def
Merging File!1.pgc
Merging File!2.pgc
Generating code
43 of 43 (100.00) profiled functions will be compiled for speed
Finished generating code
if exist blib\arch\auto\Win32API\File\File.dll.manifest mt -nologo -mani
fest blib\arch\auto\Win32API\File\File.dll.manifest -outputresource:blib\arch\au
to\Win32API\File\File.dll;2
if exist blib\arch\auto\Win32API\File\File.dll.manifest del blib\arch\au
to\Win32API\File\File.dll.manifest
C:\p517\bin\perl.exe -MExtUtils::Command -e chmod -- 755 blib\arch\auto\
Win32API\File\File.dll
Files found in blib\arch: installing files in blib\lib into architecture depende
nt library tree
Installing C:\p517\lib\auto\Win32API\File\File!1.pgc
Installing C:\p517\lib\auto\Win32API\File\File!2.pgc
Installing C:\p517\lib\auto\Win32API\File\File.bs
Installing C:\p517\lib\auto\Win32API\File\File.dll
Installing C:\p517\lib\auto\Win32API\File\File.exp
Installing C:\p517\lib\auto\Win32API\File\File.lib
Installing C:\p517\lib\auto\Win32API\File\File.pdb
Appending installation info to c:\p517\lib/perllocal.pod
C:\Documents and Settings\Administrator\Desktop\w32f>
####
Merging File!1.pgc
Merging File!2.pgc
Generating code
43 of 43 (100.00) profiled functions will be compiled for speed
####
C:\Documents and Settings\Administrator\Desktop\w32f>pgomgr
Microsoft (R) Profile Guided Optimization Manager 9.00.21022.08
Copyright (C) Microsoft Corporation. All rights reserved.
Usage: PGOMGR [options] [Profile-Count-Paths ...] Profile-Database
Options:
/? Display this help
/help Display this help
/clear Remove all merge data from this data base
/detail Display verbose program statistics
/merge[:n] Merge the given PGC file(s), with optional integer weight
/summary Display program statistics
/unique Display decorated function names
C:\Documents and Settings\Administrator\Desktop\w32f>
####
.text C0CCh
.rdata 171Eh
.data 364h
.rsrc 3C0h
.reloc 92Ah
####
.text AD70h
.rdata 171Eh
.data 364h
.rsrc 3C0h
.reloc 8CCh
####
.text AD6Ah
.rdata 171Eh
.data 364h
.rsrc 3C0h
.reloc 8CCh