Re: Introducing esp-ginx, robust webserver on esp8266
Posted: Tue Nov 10, 2015 2:08 am
Israel Lot,
First of all, thank you for making this available to everyone.
Originally I was trying to compile with the c99 standard, but it appears your code makes use of quite a few inline functions. At least that's what I think they're termed (i.e. calling functions without explicitly declaring prototypes in the header files). I'm kind of lost when it comes to compiler issues, so I was wondering if you could explain the purpose of this somewhat, and if there is a specific reason why this can not compile under c99? I understand that it's performance-related, but some additional insight would be nice.
From what I've gathered, c99 does not allow this unless you explicitly declare a function as inline, and do so in the header file as well? Or perhaps disable checks for some parts of code?
Also, I am particularly curious about the implementation of your "cgi_enforce_method()" in cgi.c. It is called in http_server.c with 2 parameters, but the definition only takes 1. My best guess is it is some kind of "special" caller. I did some Googling to try to find out more but compiler literature is pretty dense, so I was wondering if you wouldn't mind explaining how that works, or what the proper term is for this kind of call
First of all, thank you for making this available to everyone.
Originally I was trying to compile with the c99 standard, but it appears your code makes use of quite a few inline functions. At least that's what I think they're termed (i.e. calling functions without explicitly declaring prototypes in the header files). I'm kind of lost when it comes to compiler issues, so I was wondering if you could explain the purpose of this somewhat, and if there is a specific reason why this can not compile under c99? I understand that it's performance-related, but some additional insight would be nice.
From what I've gathered, c99 does not allow this unless you explicitly declare a function as inline, and do so in the header file as well? Or perhaps disable checks for some parts of code?
Also, I am particularly curious about the implementation of your "cgi_enforce_method()" in cgi.c. It is called in http_server.c with 2 parameters, but the definition only takes 1. My best guess is it is some kind of "special" caller. I did some Googling to try to find out more but compiler literature is pretty dense, so I was wondering if you wouldn't mind explaining how that works, or what the proper term is for this kind of call