www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - make C is scriptable like D

reply dangbinghoo <dangbinghoo gmail.com> writes:
hi there,

a funny thing:

--------------------------------
$ cat rgcc

cf=$ 
mycf=__`echo $cf|xargs basename`
cat $cf | sed '1d'  > ${mycf}
gcc ${mycf} -o a.out
rm ${mycf}
./a.out

$ cat test.c

#include <stdio.h>
int main()
{
     printf("hello\n");
}
--------------------------------

And then,

----------------
chmod +x test.c
./test.c
----------------

output hello.

is rdmd implemented similarly?

thanks!

----
binghoo
Jun 19 2019
next sibling parent Cym13 <cpicard openmailbox.org> writes:
On Thursday, 20 June 2019 at 06:20:17 UTC, dangbinghoo wrote:
 hi there,

 a funny thing:

 --------------------------------
 $ cat rgcc

 cf=$ 
 mycf=__`echo $cf|xargs basename`
 cat $cf | sed '1d'  > ${mycf}
 gcc ${mycf} -o a.out
 rm ${mycf}
 ./a.out

 $ cat test.c

 #include <stdio.h>
 int main()
 {
     printf("hello\n");
 }
 --------------------------------

 And then,

 ----------------
 chmod +x test.c
 ./test.c
 ----------------

 output hello.

 is rdmd implemented similarly?

 thanks!

 ----
 binghoo
Basically, yeah.
Jun 20 2019
prev sibling parent reply Jonathan Marler <johnnymarler gmail.com> writes:
On Thursday, 20 June 2019 at 06:20:17 UTC, dangbinghoo wrote:
 hi there,

 a funny thing:

 --------------------------------
 $ cat rgcc

 cf=$ 
 mycf=__`echo $cf|xargs basename`
 cat $cf | sed '1d'  > ${mycf}
 gcc ${mycf} -o a.out
 rm ${mycf}
 ./a.out

 $ cat test.c

 #include <stdio.h>
 int main()
 {
     printf("hello\n");
 }
 --------------------------------

 And then,

 ----------------
 chmod +x test.c
 ./test.c
 ----------------

 output hello.

 is rdmd implemented similarly?

 thanks!

 ----
 binghoo
rdmd adds a few different features as well, but the bigger thing it does is cache the results in a global temporary directory. So If you run rdmd on the same file with the same options twice, the second time it won't compile anything, it will detect that it was already compiled and just run it.
Jun 20 2019
parent dangbinghoo <dangbinghoo gmail.com> writes:
On Thursday, 20 June 2019 at 16:55:01 UTC, Jonathan Marler wrote:
 On Thursday, 20 June 2019 at 06:20:17 UTC, dangbinghoo wrote:
 [...]
rdmd adds a few different features as well, but the bigger thing it does is cache the results in a global temporary directory. So If you run rdmd on the same file with the same options twice, the second time it won't compile anything, it will detect that it was already compiled and just run it.
great! thanks.
Jun 21 2019