小编sor*_*h-r的帖子

在汇编时通过RS232端口进行通信

我有一个电路,有8条输入线和一条连接到计算机串口的电缆.端口控制器并联配置.(我不知道这意味着什么!电子工程专业的学生说这意味着"你必须异步使用信号,例如每个信号都可以独立于其他信号")

现在我应该编写一个汇编代码,从文件中读取一些输入,处理它们,然后设置数据线.我可以做前2,但对端口没有任何想法.

你能给我一个起点吗?例如,如何初始化端口以及如何在汇编中在PC的串行端口上设置一行数据?

assembly serial-port

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

以bash递归扫描目录

我需要编写一个bash脚本来扫描当前目录中的目录,并为目录树中的每个文件生成md5校验和值.它还应保留文件的相对路径并在文件中打印校验和.

例如,如果目录树看起来像这样:

.
??? d
?   ??? file1.c
?   ??? file2.c
??? e
?   ??? file3.c
??? f
    ??? file4.cpp
Run Code Online (Sandbox Code Playgroud)

输出应该是这样的:

d8e8fca2dc0f896fd7cb4cb0031ba249  d/file1.c
d8e8fca2dc0f896fd7cb4cb0031ba249  d/file2.c
d8e8fca2dc0f896fd7cb4cb0031ba249  e/file3.c
d8e8fca2dc0f896fd7cb4cb0031ba249  f/file4.cpp
Run Code Online (Sandbox Code Playgroud)

但是我找不到一种方法来保存文件路径到CD时...

linux bash

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

使用CMake编译openCV:设置架构和优化标志

我需要为i486架构编译OpenCV.我想将优化标志设置为O3.问题是无法找到在cmake文件中或使用配置脚本设置编译器标志的方法.

architecture optimization opencv cmake

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

在C++中继承模板类

可能重复:
C++继承的模板类无权访问基类

我遇到了模板和继承问题.简单地说,我有一个模板类,我希望从中继承另一个模板类.我不明白为什么基类的成员在派生类中不可见?虽然不使用模板,但一切都按预期工作.例如:

template <typename T>
class Foo
{
public:
    T x;
    T y;
    void doX(){ x = x+1; }
    void doY(){y++;}
protected:
    T a;
    T b;
    void doA(){a++;}
};

template <typename T>
class Bar : public Foo<T>
{
public:
    void doX(){x++; y++;} // ERROR
    void doY(){x++; y++;} // ERROR
    void doA(){a++;b++;}  // ERROR
};
Run Code Online (Sandbox Code Playgroud)

c++ inheritance templates

0
推荐指数
2
解决办法
196
查看次数

为什么 QWizard::nextId() 被调用两次?

我有一个QWizard由 Qt Creator 的表单向导生成的子类。如文档中所述,我重新实现nextId()以验证输入并创建非线性向导。问题是它nextId()被调用两次:一次在进入页面时,一次在退出时。我需要对字段进行简单的最后一刻检查,然后引导用户浏览下一页,或显示错误消息并使用户保持在当前页面。

注意:我使用 Qt Creator 的表单生成器制作了向导。页面包含在 ui 文件中。因此,重新实施QWizardPage::nextId()不是一个选择。

更新:这是代码:

int WizardBackupDatabase::nextId() const
{
    Page nextPage;
    Page currentPageType = static_cast<Page>(currentId());
    qDebug() << currentId(); // This prints twice
    switch (currentPageType) {
    case Page::Intro:
        nextPage = Page::DataSource;
        break;
    case Page::DataSource:
        if(checkSource()) {
            nextPage = Page::Settings;
        }
        else {
            nextPage = Page::DataSource;
        }
        break;
    case Page::Settings:
        if(checkSettings()) {
            nextPage = Page::Verify;
        }
        else {
            nextPage = Page::Settings;
        }
        break;
    case Page::Verify:
        nextPage …
Run Code Online (Sandbox Code Playgroud)

c++ user-interface qt wizard

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

如何避免使用容器中的引用来取消引用指针的开销?

我遇到了设计挑战.有一个巨大的std::vector<int>称为O大小10000的说,有类型的两个许多对象Foo,f_1... f_n.每个Foo都有一个内部std::vector<int>的子目录O.例如:

O = 1, 2, ..., 100000
f_1.order = 1, 2, 3
f_2.order = 1, 4, 16
f_3.order = 100, 101, 102
// ...
Run Code Online (Sandbox Code Playgroud)

主要要求是更新其值更改O时的相应f_n值.所有Foo物体的长度和含量在施工时都知道,并且在其使用寿命期间不应该改变.例如,已知它f_1包含第一,第二和第三元素O.

显而易见的解决方案当然是使用指针.Foo可以保存std::vector<int*>每个元素指向原始order(O)的基础数据.

另一方面,我的程序使用Foo对象进行一些繁重的计算.所以我正在寻找一种方法来消除指针解除引用的开销.如果设计允许我使用某种类型std::vector<int&>但这是不可能的(我猜因为vector<T>需要存在T*).

一位同事建议使用boost::ptr_vector.另一位建议持有指数vector<size_t>......

c++ pointers vector

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