lua-users home
lua-l archive

Re: Panda Bears will die, Sloths will live on

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On 11-10-18 05:33 PM, David Goehrig wrote:
Yes not only will that work but if you guessed it is a direct string replacement for the entire file you'd be right!
Try running most C code through cpp and look at the output. Any non-trivial example will contain half the files in /usr/include on most Linux systems.
For fun take a program that includes SDL.h
 #include<SDL.h>
 int main(int argc, char** argv) { return 0;}
On my Mac this generates a C file 13977 lines long via cpp. On my Linux box a measly 4573 lines long.
The slightly longer file that adds:
 #include<GL/gh.h>
Is 7909 lines lines on Linux.
Awesome!
Hi David
I've never used cpp before, so I created these files:
(cppTest.c)
int function(int a){
 // int b; I had to move this to the other file or it wouldn't compile
 #include "other_file.h"
 return a + b;
}
int main(int argc, char* argv[])
{
function(8);
 return 0;
}
and the other file
(other_file.h )
int b = 42 ;
I successfully compiled with:
gcc cppTest.c other_file.h -o cppTest
I ran cpp cppTest.c and ended up with:
# 1 "cppTest.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "cppTest.c"
int function(int a){
# 1 "other_file.h" 1
int b = 42 ;
# 4 "cppTest.c" 2
 return a + b;
}
int main(int argc, char* argv[])
{
function(8);
 return 0;
}
I don't know much about cpp but I can't see the verbose includes that you mentioned. Could you explain your numbers a bit more? or perhaps my results?
Thanks

AltStyle によって変換されたページ (->オリジナル) /