On Mon, Jun 23, 2008 at 01:34:04PM +0200, Michael Kerrisk wrote:
> On Mon, Jun 23, 2008 at 1:31 PM, Stephane Chazelas
> <[EMAIL PROTECTED]> wrote:
> > On Mon, Jun 23, 2008 at 12:37:50PM +0200, Michael Kerrisk wrote:
> > [...]
> >> This feature is not available if the program is compiled with
> >> cc -std=cc99 or cc -D_ISOC99_SOURCE (unless _GNU_SOURCE is also
> > [...]
> >
> > typo: -std=c99, not cc99.
>
> Thanks. Fixed. It sort of balanced out. Elsewhere in the page I
> wrote another typo: -std=99.
[...]
With tcc, you need the -D_GNU_SOURCE:
~$ cat a.c
#include <stdio.h>
int main()
{
char *a = 0;
int n;
n = sscanf("test", "%as", &a);
printf("%d %s\n", n, a);
return 0;
}
~$ tcc -run ./a.c
0 (null)
~$ tcc -D_GNU_SOURCE -run ./a.c
1 test
~$ tcc a.c
~$ nm -D a.out |& grep scanf
U __isoc99_sscanf
~$ tcc -D_GNU_SOURCE a.c
~$ nm -D a.out |& grep scanf
U sscanf
On debian, cc can be tcc.
~$ update-alternatives --list cc
/usr/bin/gcc
/usr/bin/tcc
--
Stéphane
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]