Visual Studio pour Mac

AppleSpirit

Membre expert
Club iGen
17 Août 2006
2 332
39
Caen
Bonjour,

Est-ce que vous savez s'il est possible de coder et compiler en c et c++ avec Visual Studio pour Mac ?

Merci pour votre aide.
 
Et si je veux coder en assembleur, est-ce que je peux le faire avec Xcode également ?
 
Merci beaucoup. J'imagine que le langage assembleur que je devrai utiliser avec NASM ne sera pas le même que celui utilisé par mes collègues sous Visual Studio ?
 
Je ne m'y connais pas assez en assembleur, juste en C C# mais j'ai un ami qui code en assembleur sous Linux donc c'est assez similaire à MacOS et je lui demanderai si cela est "Universal" à tous les OS
 
Pour un PC ou un Mac/Intel, le jeu d'instruction du processeur sera le même : cela devrait permettre de tester des bouts de code quel soit le système, du moment que tu n'utilises pas de bibliothèque spécifique.

Mais pour produire un binaire pour un système donné, c'est autre chose : le binaire créé pour macOS ne fonctionnera pas sous WIndows ou Linux car les systèmes ont leurs propres méthodes de lancement d'exécutables et s'attendent à trouver certaines instructions particulières à des endroits bien particuliers.

Si tu comptes produire sur macOS un binaire pour Windows, il te faudra prendre un compilateur (un assembleur) capable de produire un binaire pour un autre système que celui sur lequel il tourne (des compilateurs GCC peut faire ça pour le C et d'autres langages).

De plus, il y aura des adaptations à effectuer suivant les cas (nom de la procédure main, ce genre de choses) sans oublier que si tu utilises des bibliothèques propres à un système, comme les bibliothèques graphiques, il va de soi que cela ne peut fonctionner que sur ce système-là.

Tu as ici une liste d'assembleurs x86.
 
je dois juste coder en langage assembleur et être sûr que le code en question pourra être exécuté à la fois sur mac et Windows. Je ne sais pas si cela implique de "produire un binaire". Je ne sais d'ailleurs pas ce que signifie "produire un binaire".
 
Quand tu développes, tu utilises des langages compréhensibles pour les humains (le code machine, cela reste un peu rugueux à manipuler). Ensuite tu utilises un compilateur pour convertir cet écrit compréhensible en code machine, suivant les règles propres au système et au processeur sur lequel cela doit être exécuté.

Le code binaire, c'est tout ce qui n'est pas du texte et, dans le cas présent, il s'agit de code que la machine saura exécuter.

Ici, quand tu développes en assembleur, tu écris un fichier texte dans lequel tu mets des instructions propres au processeur sur lequel ton programme tournera. Tu dois aussi tenir compte du système sur lequel il tournera car entre deux systèmes les méthodes d'appel ne sont pas identiques.
Ensuite tu utilises l'assembleur (le programme, par exemple nasm ou casm) pour faire la traduction en code machine. Dans ton cas, tu risques fort de devoir compiler une première fois pour produire un fichier exécutable pour Windows et une seconde pour un fichier exécutable pour macOS.

Si tu vas sur la page de nasm sur Wikipedia, tu verras par exemple comment écrire un programme Hello World! avec nasm pour les différents systèmes.
 
  • J’aime
Réactions: albedo83
Quel est le but final de la démarche ?
Es-tu en école d'informatique et c'est un devoir potentiel à faire (tu prends juste de l'avance) ?
 
Oui ça se passe dans le cadre d'une formation et évidemment c'est Windows et Visual Studio qui sont les références (conséquence du pilonnage effectué par Microsoft dans le domaine scolaire et académique).
 
Et que dois-tu rendre ? Des codes sources ou des applications/programmes/binaires ?
S'il te faut absolument utiliser Visual Studio et/ou rendre des app/prg/.exe, il va falloir utiliser de la virtualisation ou du dualboot.
 
Et que dois-tu rendre ? Des codes sources ou des applications/programmes/binaires ?
S'il te faut absolument utiliser Visual Studio et/ou rendre des app/prg/.exe, il va falloir utiliser de la virtualisation ou du dualboot.
Apparemment il se destine à développer sur son PC (à la maison) en s'y connectant en RDP... Dans ce cas, plus besoin d'avoir Windows sur son Mac. C'est un peu comme avoir une VM dans le Nuage et s'y connecter avec Citrix, finalement. Le tout est d'avoir une connexion de qualité avec son FAI (ce qui n'est pas mon cas...)

Petit rappel : en se connectant à son PC à la maison, on utilise essentiellement la bande passante montante de la ligne. Si on a la fibre ou le SDSL, ça va. Mais si on a de l'ADSL (A pour Asymmetric), cette bande passante est nettement plus faible que la bande passante descendante ; le facteur dépend de l'installation ; de mémoire, chez moi c'est autour de 8 : BP descendante ~= 8 * BP montante.
Bref, ça peut être assez moyen, comme solution
 
Par contre ce DOSBox sollicite 30% de mes ressources processeurs en permanence, c'est vraiment n'importe quoi, tout ça pour une invite de commandes.
 
Tu peux essayer autre chose, dans le même ordre d'idée :
  • installer VirtualBox (ou une autre solution, payante, de virtualisation)
  • créer une VM faisant tourner FreeDOS
  • installer MASM dans cette VM
VirtualBox et FreeDOS sont gratuits ; avec un peu de chance ils ne prendront qu'une pincée de CPU lorsqu'ils ne sont pas utilisés.