小编Adi*_*idu的帖子

如何更改Rails中使用的捆绑器版本?

当我运行以下命令时,它将为我提供捆绑器的可用安装版本:

命令:

gem list | grep "bundle"
Run Code Online (Sandbox Code Playgroud)

输出:

bundler (1.11.2, 1.10.6, 1.10.4, 1.3.6, 1.3.0, 1.3.0.pre)
Run Code Online (Sandbox Code Playgroud)

我使用以下命令获得的当前捆绑器版本为1.11.2:

bundler --version
Run Code Online (Sandbox Code Playgroud)

我想使用版本1.3.6,如何将当前版本的捆绑程序替换为可用的捆绑程序?

version-control rubygems ruby-on-rails bundler

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

使用放置在另一个目录中的另一个 C 文件中的函数?

假设我有一个带有两个子目录 B 和 C 的父目录 A。

子目录 C 有 helper.c 和 helper.h,如图:

//helper.c

 void print(){
     printf("Hello, World!\n");
 }


//helper.h

void print();
Run Code Online (Sandbox Code Playgroud)

现在,在子目录 B 中,我有一个 main.c,它只调用打印函数:

//main.c

#include<stdio.h>
#include"../C/helper.h"

void main(){
    print(); 

}
Run Code Online (Sandbox Code Playgroud)

我尝试了以下命令来编译 main.c:

Command 1: gcc main.c  //Gives undefined reference to 'print' error
Command 2: gcc main.c ../C/helper.c   //Compiles successfully
Run Code Online (Sandbox Code Playgroud)

现在我从 main .c 中删除了 #include"../C/helper.h" 并再次尝试命令 2。它仍然有效。

所以我有以下问题:

i) 是否包含 helper.h 文件或 helper.c 有什么区别?

ii) 为什么命令 1 失败?

iii) 有没有办法编译我的 C 程序而不必每次都指定 helper.c?

c linker compilation

5
推荐指数
1
解决办法
3449
查看次数

C中堆部分与堆栈部分的数组内存分配

考虑以下C代码:

#include <stdio.h>
#include<stdlib.h>

int main() {

    int arrSize;

    scanf("%d", &arrSize);

    printf("%d\n",arrSize);

    int *dynArr = (int *)malloc(sizeof(int)*arrSize);

    int arr1[arrSize];

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,arrSize是作为用户输入的数组的大小.以下观察结果是否正确:

i)dynArr是一个动态数组,它在运行时从堆部分分配内存.可以使用realloc函数修改dynArr的大小.

ⅱ).arr1也在运行时分配内存,但不是动态的,即它们的大小无法修改.内存是从堆栈或数据部分分配的.(不确定内存分配的堆或堆栈/数据部分以及原因).

c dynamic-memory-allocation static-memory-allocation

5
推荐指数
2
解决办法
6721
查看次数

无损分解与依赖保留

他们中的任何一个都暗示另一个吗?

我的逻辑是,如果保留所有依赖项,则不会丢失信息,同样,如果分解是无损的,则一定不会违反功能依赖项。

所以本质上,依赖保留是一种确保您的分解无损的方法。

我很难接受/拒绝它。那么这两者是相互保证的,还是有一种情况可以在没有另一个的情况下实现?

database-design decomposition database-normalization functional-dependencies

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

是否可以将标准输入/输出设置为C中的文件?

可以将标准输入/输出设置为C程序的文件.我知道我们可以使用fscanf和fprintf来读取和写入文件但是通过将std i/o设置为文件,我们可以在C程序中使用printf/scanf进行i/o操作吗?

c file-io

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