/*!\fn void TPosixSerialDevice::close()\en Closes a serial port. This function has no effect if the serial port associated with the class is not currently open.\ru Закрывает последовательное устройство. Эта функция не будет работь если до этого порт не был корректно открыт.*/void TPosixSerialDevice::close(){........ if (close(fd)==-1) { <<<<<< ВОТ ТУТ КОМПИЛЯТОР НЕ ЗНАЕТ КАКУЮ ФУНКЦИЮ ПОДСТАВИТЬ !!! TTY_PORTABILITY_DEBUG("TPosixSerialDevice::close->close! Error!"); } }//if isOpen() &&&&& QIODevice::close();}
#include <fcntl.h> /* File control definitions */// тут переназываю функцииint new_open(int fd, int flags){return open(fd, flags);}// и аналогично с close
#define open new_open
class MainWindow : public QMainWindow{public: MainWindow(QWidget *parent = 0); ~MainWindow(); void open(){}};
#include "mainwindow.h"namespace abc{ #include <fcntl.h>}MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent){ open(); abc::open("lol", 0);}
#include <fcntl.h> //тут определены open и closeint opendevice(const char *pathname, int flags) { return open(pathname, flags); }int closedevice(int fd) { return close(fd); }#include <unistd.h> // тут определены read и writessize_t readdevice(int fd, void *buf, size_t count) { return read(fd, buf, count); }ssize_t writedevice(int fd, const void *buf, size_t count) { return write(fd, buf, count); }
namespace abc //serial device i/o{ #include <fcntl.h> #include <unistd.h>}
::open("lol", 0); ::close(10);