小编Pet*_*ter的帖子

c中的malloc vs mmap

我建了两个程序,一个使用malloc,另一个使用mmap.使用的执行时间mmap远远少于使用malloc.

我知道,例如,当您使用时,mmap请避免对系统进行读/写调用.并且内存访问较少.

但在使用时,还有没有其他原因的优势mmap超过malloc

非常感谢

c malloc mmap

38
推荐指数
4
解决办法
4万
查看次数

C中的优化矩阵乘法

我正在尝试比较矩阵乘法的不同方法.第一个是常规方法:

do
{
    for (j = 0; j < i; j++)
    {
        for (k = 0; k < i; k++)
        {
            suma = 0;
            for (l = 0; l < i; l++)
                suma += MatrixA[j][l]*MatrixB[l][k];
                MatrixR[j][k] = suma;
            }
        }
    }
    c++;
} while (c<iteraciones);
Run Code Online (Sandbox Code Playgroud)

第二个包括首先转置矩阵B然后按行进行乘法运算:

int f, co;
for (f = 0; f < i; f++) {
    for ( co = 0; co < i; co++) {
        MatrixB[f][co] = MatrixB[co][f];
    }
}

c = 0;
do
{
    for (j …
Run Code Online (Sandbox Code Playgroud)

c matrix

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

使用 malloc 和 POSIX 文件操作将文件读入动态内存数组

可能的重复:
将文本文件读入 c 中的数组

我正在尝试将文件读入动态数组。首先我使用 open() 打开文件,所以我得到文件描述符但是我不知道如何使用 malloc 将内存分配给动态数组,以便从内存中对文件进行一些数据修改。

c malloc file-io posix

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

从linux中的C文件生成汇编代码

我想知道如何使用Unix从C程序生成汇编代码.我试过gcc:gcc -c file.c

我也先使用cpp然后尝试as但是我遇到了错误.

我正在尝试从3个不同的程序构建汇编程序

prog1.c prog2.c prog.h

这样做是否正确gcc -S prog1.c prog2.c prog.h?似乎不正确.我不知道是否必须从每个汇编程序生成汇编程序然后将它们链接起来

谢谢

c unix gcc

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

管理缓冲区内的数据

我正在使用此代码将文件读入缓冲区.该文件是满structsevaluacion类型(包括一些charint变量).现在我将整个文件放在缓冲区中,如何在缓冲区中找到一个变量的值?例如buf.notamedia < 4.应该在文件中有很多.

#include <unistd.h>
#include <sys/stat.h>
int revisanotas(int fd)
{
    int nbytes = 1;
    int nbytese = 0;
    evaluacion buf;
    struct stat datos;
    fstat(fd, &datos);

    printf("Size of file =  %d \n", datos.st_size);
    char *buffer = (char *)malloc(datos.st_size);
    int actual = read(fd, buffer, datos.st_size);

    printf("actual = %d\n", actual);

    if (buf.notamedia >= 4.5 && buf.notamedia < 5)
    {
        /* ... */
    }
}
Run Code Online (Sandbox Code Playgroud)

任何想法都非常受欢迎


我正在按照你说的做,但我只进行了一次迭代,我不知道我做错了什么:(

evaluacion* buffer=(evaluacion*)malloc(datos.st_size);
int actual = read(fd,buffer,datos.st_size); …
Run Code Online (Sandbox Code Playgroud)

c buffer file

0
推荐指数
1
解决办法
227
查看次数

标签 统计

c ×5

malloc ×2

buffer ×1

file ×1

file-io ×1

gcc ×1

matrix ×1

mmap ×1

posix ×1

unix ×1