小编Gra*_*eme的帖子

如何在路径中添加〜/ bin?

我一直无法修改添加Sublime Text 2的路径.我添加了一个~/bin目录并运行此命令:

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl
Run Code Online (Sandbox Code Playgroud)

子链接出现在~/bin.但是我需要将~/bin目录添加到我的路径中.我对此很新,我不知道我的路在哪里.我环顾四周,发现可能的文件是.profile,.bash_profile或者.bashrc

我没有.bash_profile.要.profile.bashrc我说

PATH=$PATH:~/bin/subl
export PATH
Run Code Online (Sandbox Code Playgroud)

这是正确的添加吗?如果是这样,我应该在哪里添加它?

当我echo $PATH,我得到:

/Users/<username>/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2ndEd/bin:/Users/<username>/.rvm/gems/ruby-1.9.3-p194@global/bin:/Users/<username>/.rvm/rubies/ruby-1.9.3-p194/bin:/Users/<username>/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
Run Code Online (Sandbox Code Playgroud)

当我输入时subl,我得到:

-bash: subl: command not found
Run Code Online (Sandbox Code Playgroud)

谢谢!

ps我以前安装了Macports,它修改了我的.profile文件.不确定这是否与它有关 - 我现在不知道默认是什么.profile样的.

macos bash sublimetext

69
推荐指数
5
解决办法
8万
查看次数

更改OS X中目录的所有权

我已经安装了自制软件,并且正在尝试更改/ usr/local/include目录的写入权限.

当我运行'brew doctor'时,我收到以下错误消息:

错误:/ usr/local目录不可写.即使在安装Homebrew时此目录是可写的,其他软件也可能会更改此目录的权限.已知翼型的"InstantOn"组件的某些版本可以做到这一点.

您应该将/ usr/local的所有权和权限更改回您的用户帐户.

我尝试用chown做这个,但我对此很新,并且不认为我正确运行它.我跑了:

chown myusername /usr/local/include
Run Code Online (Sandbox Code Playgroud)

我没有收到任何错误消息,但是当我运行brew医生时,它说我仍然没有写入/ usr/local/include的许可.

任何帮助将不胜感激!

编辑:

我收到"不允许操作"错误.

cd /usr

chown myusername local

chown:local:不允许操作

macos homebrew chown

8
推荐指数
3
解决办法
2万
查看次数

C指针:while(*s ++){;}和while(*s){s ++;}之间的区别

我正在经历K&R,并且在增加指针方面遇到了困难.练习5.3(p.107)要求你使用指针编写一个strcat函数.

在伪代码中,该函数执行以下操作:

  1. 取2个字符串作为输入.
  2. 找到第一个字符串的结尾.
  3. 将字符串2复制到字符串1的末尾.

我得到了一个有效的答案:

void strcats(char *s, char *t)
{
    while (*s)            /* finds end of s*/
        s++;
    while ((*s++ = *t++)) /* copies t to end of s*/
        ;
}
Run Code Online (Sandbox Code Playgroud)

但我不明白为什么这段代码也不起作用:

void strcats(char *s, char *t)
{
    while (*s++)
        ;
    while ((*s++ = *t++))
        ;
}
Run Code Online (Sandbox Code Playgroud)

显然,我错过了关于指针递增如何工作的一些信息.我认为增量的两种形式是等价的.但第二个代码只打印出字符串s.

我尝试了一个虚拟变量i来检查函数是否经历了两个循环.它做了.我阅读了K&R的第5.4和5.5节,但我找不到任何可以解释这一点的内容.

任何人都可以帮我弄清楚为什么我的功能的第二个版本没有做我想要的东西?谢谢!

编辑:谢谢大家.令人难以置信的是,在没有注意到的情况下,您可以在多长时间内盯着相对简单的错误.有时没有比让别人看一眼更好的补救措施了.

c pointers

4
推荐指数
1
解决办法
4159
查看次数

这条线的目的是什么?(功能声明)

我正在通过K&R学习编程.到目前为止还不错,但我不清楚第1.8节(函数)中的一行代码的作用.

在1.8节中,作者向您展示了如何创建一个函数来将一个整数提升到另一个整数的幂.

我已经粘贴了下面的代码,正如书中所写的那样.一切都很好.但我不知道为什么他们把这条线包括在最上面:

int power(int m, int n);
Run Code Online (Sandbox Code Playgroud)

这本书没有提到它,除了说该程序将整数m提高到幂n.如果我从代码中删除该行,程序仍然按预期输出.

如果我理解这一点,就行了

int power(int base, int n)
Run Code Online (Sandbox Code Playgroud)

创建函数,下面的大括号定义函数.然后main下的大括号调用函数输出图表.

所以这一切似乎都有道理.但我不明白最重要的是什么.

这可能是无关紧要的,但我似乎更有可能错过了一些东西.任何人都可以告诉我为什么那条线在那里?

#include <stdio.h>

int power(int m, int n);

/* test power function */
main()
{
int i;

    for (i = 0; i < 10; ++i)
        printf("%d %d %d\n", i, power(2,i), power(-3, i));
    return 0;
}

/* power: raise base to n-th power; n >= 0 */

int power(int base, int n)
{
    int i, p;

    p = 1;
    for (i = 1; i …
Run Code Online (Sandbox Code Playgroud)

c kr-c kernighan-and-ritchie

3
推荐指数
1
解决办法
571
查看次数

标签 统计

c ×2

macos ×2

bash ×1

chown ×1

homebrew ×1

kernighan-and-ritchie ×1

kr-c ×1

pointers ×1

sublimetext ×1