gpt4 book ai didi

c - 在 Windows PowerShell 中为 GCC 设置别名

转载 作者:行者123 更新时间:2023-12-04 10:57:45 24 4
gpt4 key购买 nike

我正在尝试在 Windows PowerShell 中设置一个“gcc99”别名,它等于“gcc -std=C99 -pedantic -Wall”。这个想法是使用更少的击键来确保 GCC 在 c99 模式下运行。 (我已尽最大努力使以下帖子中的准则适用于 Windows PowerShell: Setting std=c99 flag in GCC )

当我在设置这样一个别名(下面的图表 1)后尝试编译时,我收到一个错误。作为引用,如果我使用扩展命令进行编译(下面的图表 2),我不会收到此错误。作为测试,我尝试将 gc99 设置为“gcc”的别名(没有附加值)并且它工作正常(下面的图表 3)。请忽略我尚未在代码中解决的许多警告:)

有什么建议吗?

(我不确定为什么我的标题没有显示在下面的图片中。我正在使用自动创建的图片格式,例如,对于第一张图片:“Caption ”,然后是“1 :链接"在下一行。)

Exhibit 1: Error when trying to compile via a "gcc99" alias which is set to "gcc -std=c99 -pedantic -Wall"

Exhibit 2: It works fine when compile directly via "gcc -std=c99 -pedantic -Wall"

Exhibit 3: It works fine when compiling via a "gcc99" alias which is set to "gcc", which makes me think that I'm incorrectly setting the additional values in Exhibit 1

最佳答案

PowerShell 中的别名与 Unix shell 中的别名不同。您只能为 cmdlet、函数或程序的名称起别名,不能包括参数。引自 Get-Help Set-Alias :

NAME
Set-Alias

SYNOPSIS
Creates or changes an alias (alternate name) for a cmdlet or other command
element in the current Windows PowerShell session.


SYNTAX
Set-Alias [-Name] [-Value] [-Description ] [-Force]
[-Option ] [-PassThru] [-Scope ] [-Confirm]
[-WhatIf] []


DESCRIPTION
The Set-Alias cmdlet creates or changes an alias (alternate name) <b>for a
cmdlet or for a command element, such as a function, a script, a file,
or other executable</b>. You can also use Set-Alias to reassign a current alias
to a new command, or to change any of the properties of an alias, such as
its description. Unless you add the alias to the Windows PowerShell profile,
the changes to an alias are lost when you exit the session or close Windows
PowerShell.

要使用默认参数集运行外部程序,您可以将默认参数集定义为数组并像这样运行程序:

$CARGS = '-std=C99', '-pedantic', '-Wall'
gcc $CARGS -more arguments here ...

正如@ChrisN 在下面的评论中建议的那样,如果您希望在所有 PowerShell 实例中预定义变量 $CARGS,您可以将其添加到 custom PowerShell profile 中。 (例如,您的用户的 %UserProfile%\Documents\WindowsPowerShell\profile.ps1)。

关于c - 在 Windows PowerShell 中为 GCC 设置别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26221105/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com