Per prima cosa, non sto cercando uno strumento che produrrà un codice C non gestibile da una base di codice cpp esistente. È un requisito di un cliente, quindi non posso usare solo il codice CPP stesso.Flusso di lavoro da C++ a C
Sto cercando di elaborare un flusso di lavoro, in modo da poter convertire il codice-base da CPP a C in modo incrementale senza rompere il codice. Ho pensato un paio di cose che utilizzano il metodo "extern C"
- Classi per Structs
- funzioni membro della Le lezioni saranno convertiti in formato Struct_name_FunctionName.
- Nel caso in cui una funzione venga riutilizzata da 2 classi, ho intenzione di utilizzare i puntatori di funzione.
- Sostituisce gli operatori sovraccarichi come +, - etc con le funzioni effettive. Ad esempio, Add_, Sub_ etc
Riesci a aggiungere? e segnalare potenziali buche? Non posso condividere il code-base a causa della NDA. La base del codice non è enorme in sé. Ha circa 50 file cpp, ha visto circa 100 classi dispari.
Grazie in anticipo.
P.s Ho ricevuto altre domande simili. Ma in realtà non hanno il flusso di lavoro che sto cercando.
[Closing]: Anche se il post è stato messo in attesa perché è troppo ampio, molti dei commenti erano effettivamente utili. Sono più chiaro su ciò che deve essere fatto rispetto a prima. Grazie.
Ho già fatto qualcosa di simile. Per avere un buon risultato ogni classe deve essere un nuovo file .c con classname.c. Ogni metodo privato deve essere statico. Ogni metodo pubblico deve essere esternalizzato nel file classname.h. Tutto ciò che hai scritto è un buon modo per farlo. – LPs
Non pensare di * convertire * il codice in C, ma di * riscrivere * nuovo codice in C. C++ e C sono * diverse * lingue. –
E i sovraccarichi? – Deduplicator