Информация об изменениях

Сообщение Re: C++ на C от 19.03.2023 14:02

Изменено 19.03.2023 14:03 ononim

Re: C++ на C
Q>Что делать если компилятор только C (встроенная система) a хочется писать на C++? Не совсем на C++, конечно, но хотя бы на C с классами (C).

driver.h:
struct Driver;

void Driver_Init(struct Driver *d);
void Driver_Send(struct Driver *d, const void *data, size_t len);


driver.c:
struct Driver
{
    int fd;
};

struct Driver *Driver_Init()
{
    Driver *d = malloc(sizeof(struct Driver));
    d->fd = open(....);
    return d;
}
void Driver_Send(struct Driver *d, const void *data, size_t len)
{
    write(d->fd, data, len);
}


user.c:
#include "driver.h"
struct Driver *d = Driver_Init();
Driver_Send(d, "hello", 5);
Re: C++ на C
Q>Что делать если компилятор только C (встроенная система) a хочется писать на C++? Не совсем на C++, конечно, но хотя бы на C с классами (C).

driver.h:
struct Driver;

struct Driver *Driver_Init(void);
void Driver_Send(struct Driver *d, const void *data, size_t len);


driver.c:
struct Driver
{
    int fd;
};

struct Driver *Driver_Init(void)
{
    Driver *d = malloc(sizeof(struct Driver));
    d->fd = open(....);
    return d;
}
void Driver_Send(struct Driver *d, const void *data, size_t len)
{
    write(d->fd, data, len);
}


user.c:
#include "driver.h"
struct Driver *d = Driver_Init();
Driver_Send(d, "hello", 5);