Maison > développement back-end > Golang > le corps du texte

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
331 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!

source:php.cn
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!