Chevauchement entre les extensions de fichiers Objective-C et MATLAB/Octave
est-ce que Objective-C ou MATLAB/Octave ont des extensions de fichier source en plus de .m
? Je demande parce que je mets les programmes Hello World dans un seul dossier et je ne peux pas avoir deux fichiers hello.m
.
3 réponses
une solution serait d'utiliser .mm
pour L'objectif-C. .mm
est utilisé pour les fichiers source de L'Objectif-C++ et c'est un super-ensemble de L'objectif-c donc il devrait compiler fine.
il ne s'agit nullement d'une solution propre. Une bien meilleure façon serait de réorganiser votre dossier en sous-dossiers comme suggéré par Ruddy Velthuis, ou simplement d'appeler vos fichiers source hello-objective-c.m
et hello-matlab.m
.
la seule façon que je vois est de créer des sous-répertoires pour chacun des programmes et y mettre vos fichiers. Vous pouvez dire à Obj-C de traiter D'autres extensions comme Obj-C, mais cela ne résoudrait pas le problème pour les autres programmes.
mise à Jour
pour compiler n'importe quelle extension comme objectif-C, utilisez -x objective-c
sur la ligne de commande ou sélectionnez Objectif-C de" compiler des Sources comme " dans les paramètres de construction de la cible. La valeur par défaut est "selon le type de fichier", ce qui signifie que seul .les fichiers m sont compi lables comme objectif-C.
FWIW, il y a beaucoup de différences subtiles entre Objective-C++ et Objective-C. je me serait d'utiliser des sous-dossiers pour séparer les .m de fichiers, comme je l'ai déjà dit ci-dessus.
MATLAB ne peut pas trouver les fichiers à moins qu'ils n'aient l'extension .m
(très important!)
maintenant je sais très peu de choses sur Objective-C, je présume que c'est un super-ensemble de C (comme C++ est). Si c'est le cas, et similaire à C/C++, vous devriez pouvoir passer n'importe quel nom de fichier comme entrée au compilateur:
g++ -c myfile.m.txt