Re: [O] org-babel-C-ensure-main-wrap fails unless I add exit(0)
Applied, thanks! Dov Grobgeld writes: > Sure. They should be equivalent. (In C++ return is prefered as it calls > destructors. But anyone relying on this when using C++ in org-mode should > imnsho get a permanent ban from ever using C/C++ ;-). > > Regards, > Dov > > On Thu, Apr 5, 2012 at 17:56, Eric Schulte wrote: > >> Dov Grobgeld writes: >> >> > Oops. I sawthat I wrote "do not get any error" though I meant "do not >> get >> > any resulting output". >> > >> >> Would this alternate version work (without requiring stdlib.h)? >> >> (defun org-babel-C-ensure-main-wrap (body) >> "Wrap body in a \"main\" function call if none exists." >> (if (string-match "^[ \t]*[intvod]+[ \t\n\r]*main[ \t]*(.*)" body) >> body >>(format "int main() {\n%s\nreturn(0);\n}\n" body))) >> >> Thanks, >> >> > >> > On Wed, Apr 4, 2012 at 11:13, Dov Grobgeld >> wrote: >> > >> >> When running a babel C session under Linux/gcc I do not get any error >> >> unless I add exit(0) as part of the C-code snippet. For some to me not >> >> understood reason my program exits with error code=4, which is caught by >> >> org-babel-eval and the printed output is not inserted into my buffer . I >> >> solved this by adding `#include ` and `exit(0);` as part of >> >> org-babel-C-ensure-main-wrap . >> >> >> >> Should I prepare this as patch? >> >> >> >> Regards, >> >> Dov >> >> >> >> >> >> -- >> Eric Schulte >> http://cs.unm.edu/~eschulte/ >> -- Eric Schulte http://cs.unm.edu/~eschulte/
Re: [O] org-babel-C-ensure-main-wrap fails unless I add exit(0)
Sure. They should be equivalent. (In C++ return is prefered as it calls destructors. But anyone relying on this when using C++ in org-mode should imnsho get a permanent ban from ever using C/C++ ;-). Regards, Dov On Thu, Apr 5, 2012 at 17:56, Eric Schulte wrote: > Dov Grobgeld writes: > > > Oops. I sawthat I wrote "do not get any error" though I meant "do not > get > > any resulting output". > > > > Would this alternate version work (without requiring stdlib.h)? > > (defun org-babel-C-ensure-main-wrap (body) > "Wrap body in a \"main\" function call if none exists." > (if (string-match "^[ \t]*[intvod]+[ \t\n\r]*main[ \t]*(.*)" body) > body >(format "int main() {\n%s\nreturn(0);\n}\n" body))) > > Thanks, > > > > > On Wed, Apr 4, 2012 at 11:13, Dov Grobgeld > wrote: > > > >> When running a babel C session under Linux/gcc I do not get any error > >> unless I add exit(0) as part of the C-code snippet. For some to me not > >> understood reason my program exits with error code=4, which is caught by > >> org-babel-eval and the printed output is not inserted into my buffer . I > >> solved this by adding `#include ` and `exit(0);` as part of > >> org-babel-C-ensure-main-wrap . > >> > >> Should I prepare this as patch? > >> > >> Regards, > >> Dov > >> > >> > > -- > Eric Schulte > http://cs.unm.edu/~eschulte/ >
Re: [O] org-babel-C-ensure-main-wrap fails unless I add exit(0)
Dov Grobgeld writes: > Oops. I sawthat I wrote "do not get any error" though I meant "do not get > any resulting output". > Would this alternate version work (without requiring stdlib.h)? (defun org-babel-C-ensure-main-wrap (body) "Wrap body in a \"main\" function call if none exists." (if (string-match "^[ \t]*[intvod]+[ \t\n\r]*main[ \t]*(.*)" body) body (format "int main() {\n%s\nreturn(0);\n}\n" body))) Thanks, > > On Wed, Apr 4, 2012 at 11:13, Dov Grobgeld wrote: > >> When running a babel C session under Linux/gcc I do not get any error >> unless I add exit(0) as part of the C-code snippet. For some to me not >> understood reason my program exits with error code=4, which is caught by >> org-babel-eval and the printed output is not inserted into my buffer . I >> solved this by adding `#include ` and `exit(0);` as part of >> org-babel-C-ensure-main-wrap . >> >> Should I prepare this as patch? >> >> Regards, >> Dov >> >> -- Eric Schulte http://cs.unm.edu/~eschulte/
Re: [O] org-babel-C-ensure-main-wrap fails unless I add exit(0)
Oops. I sawthat I wrote "do not get any error" though I meant "do not get any resulting output". On Wed, Apr 4, 2012 at 11:13, Dov Grobgeld wrote: > When running a babel C session under Linux/gcc I do not get any error > unless I add exit(0) as part of the C-code snippet. For some to me not > understood reason my program exits with error code=4, which is caught by > org-babel-eval and the printed output is not inserted into my buffer . I > solved this by adding `#include ` and `exit(0);` as part of > org-babel-C-ensure-main-wrap . > > Should I prepare this as patch? > > Regards, > Dov > >
[O] org-babel-C-ensure-main-wrap fails unless I add exit(0)
When running a babel C session under Linux/gcc I do not get any error unless I add exit(0) as part of the C-code snippet. For some to me not understood reason my program exits with error code=4, which is caught by org-babel-eval and the printed output is not inserted into my buffer . I solved this by adding `#include ` and `exit(0);` as part of org-babel-C-ensure-main-wrap . Should I prepare this as patch? Regards, Dov