Maison > développement back-end > Golang > Quels sont les systèmes de build compatibles avec le langage de programmation Go ?

Quels sont les systèmes de build compatibles avec le langage de programmation Go ?

Susan Sarandon
Libérer: 2024-11-02 23:52:29
original
486 Les gens l'ont consulté

What are the build systems compatible with the Go programming language?

Systèmes de construction compatibles avec Go

Outre le Makefile natif de Go, plusieurs autres systèmes de construction populaires offrent également une prise en charge du langage. Ceux-ci incluent :

  • scons : Une alternative efficace, cet exemple de fichier SConstruct démontre ses capacités :

    archs = {'amd64': '6', '386': '8', 'arm': '5',}
    
    def gc(source, target, env, for_signature):
      targets = target[0]
      sources = ' '.join(str(s) for s in source)
      flags = ''
      for include in env.get('GOINCLUDE', []):
          flags += '-I %s ' % (include)
      return '%s -o %s %s %s' % (env['GOCOMPILER'], targets, flags, sources)
    
    def ld(source, target, env, for_signature):
      targets = target[0]
      sources = ' '.join(str(s) for s in source)
      return '%s -o %s %s' % (env['GOLINKER'], targets, sources)
    
    def _go_object_suffix(env, sources):
      return "." + archs[env['ENV']['GOARCH']]
    
    def _go_program_prefix(env, sources):
      return env['PROGPREFIX']
    
    def _go_program_suffix(env, sources):
      return env['PROGSUFFIX']
    
    go_compiler = Builder(generator=gc,
                        suffix=_go_object_suffix,
                        src_suffix='.go',)
    go_linker = Builder(generator=ld,
                      prefix=_go_program_prefix,
                      suffix=_go_program_suffix,)
    
    # Create environment
    import os
    env = Environment(BUILDERS={'Go': go_compiler, 'GoProgram': go_linker},
                    ENV=os.environ,)
    arch_prefix = archs[os.environ['GOARCH']]
    env.SetDefault(GOCOMPILER=os.path.join(os.environ['GOBIN'], arch_prefix + 'g'))
    env.SetDefault(GOLINKER=os.path.join(os.environ['GOBIN'], arch_prefix + 'l'))
    # Build programs
    # Modify this to suit your program
    main_package = env.Go(target='main', source='main.go')
    program = env.GoProgram(target='program', source=[main_package])
    Copier après la connexion

La flexibilité de Go permet aux développeurs de sélectionner le système de construction qui correspond le mieux à leurs préférences et aux exigences du projet.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal