Deutsch   English   Français   Italiano  
<vjedk4$22uqf$2@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: David Brown <david.brown@hesbynett.no>
Newsgroups: comp.lang.c
Subject: Re: I want to use the g++ template in the "C" gcc software
Date: Thu, 12 Dec 2024 11:24:04 +0100
Organization: A noiseless patient Spider
Lines: 54
Message-ID: <vjedk4$22uqf$2@dont-email.me>
References: <vje7d4$21r85$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 12 Dec 2024 11:24:05 +0100 (CET)
Injection-Info: dont-email.me; posting-host="2863f8def60661e50375b2aa7b31e8ae";
	logging-data="2194255"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19Wfh1d7nfi1wFFTbTQGuutVUPIZT1vMFI="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.11.0
Cancel-Lock: sha1:3Ts9OwzLhG+8alUo+34H753ZBIw=
Content-Language: en-GB
In-Reply-To: <vje7d4$21r85$1@dont-email.me>
Bytes: 3054

On 12/12/2024 09:37, aotto1968 wrote:
> Hi,
> 
> I create a C software and there is a requirement to use the g++ template 
> *in* the gcc.
> I do *not* want to use all the g++ "boilerplate" like special syntax, 
> classes etc
> I just want to use the template.
> 
> goal:
> 
> 1. I already use "inline" code to replace "cpp-macro-like" syntax in the 
> header.
> 2. NOW I *want* to replace a "cpp-macro" which use the *data-type* as an 
> argument with a template.
> 
> question.
> 
> 1. Is there a g++ switch to disable all the g++ features except of C 
> source and template feature ?
> 2. Is there a gcc switch to add g++-template feature into gcc ?
> 3. is there an external software to add the c++-template feature into an 
> existing C software ?
> 
> thanks.

It might help if you give an example of what you are trying to achieve - 
it doesn't have to be valid code that can be compiled.

gcc has command-line options to disable some features of C and C++, but 
not like you are describing.  And C++ without classes is not the same as 
C anyway.  But you might find you can write your code in C++ and simply 
not use the features you don't want to use.

If you are trying to make type-generic function-like "things" in C, then 
you have to use macros.  But you can use modern features of C11 and C23 
to make this safer and neater than in older C standards.  gcc also 
provides extensions that can help, if you are happy writing gcc-specific 
code.

You should do your own googling for information, tutorials and examples 
here, but these links will give you some starting points:

C11 _Generic selections:
<https://en.cppreference.com/w/c/language/generic>

C23 "typeof" and "auto" type inference:
<https://en.cppreference.com/w/c/language/typeof>
<https://en.cppreference.com/w/c/language/auto>

gcc extensions:
<https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html>
<https://gcc.gnu.org/onlinedocs/gcc/Typeof.html>