RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-277612

Alleksh _'s questions

Martin Hope
Alleksh _
Asked: 2020-02-03 15:53:35 +0000 UTC

处理器如何与外围设备一起工作?

  • 7

我正在寻找有关处理器如何与硬盘驱动器、网卡一起工作、如何将数据加载到内存并发送的信息。
请推荐一本书或简要说明。

книги
  • 3 个回答
  • 10 Views
Martin Hope
Alleksh _
Asked: 2020-02-02 21:35:38 +0000 UTC

什么会更有效率?

  • 0

我们有 8 个功能:

void Function1() {}
...
void Function8() {}

我们有一个 char 变量,其中只有 8 位。
例如,如果它包含 10001011,那么我们必须执行 Function1、Function5、Function7、Function8。
那么,在资源和占用内存方面,什么会更有效呢?

1) 8 个如果:

void CallFunctions(char val) {
if(val & 1) {
Function1();
}
...
if(val & 0x80) {
Function8();
}
}

2)用函数指针初始化一个数组,大小为256个元素:

std::function<void()> *ptrs; 

并在 val 处调用每个函数:

void CallFunctions(char val) {
ptrs[val]();
}

例如,在 ptrs[1] 会有一个只调用 Function1(); 的函数。
在 ptrs[3] 处,已经有一个函数依次调用 Function1() 和 Function2()。
3) 你的选择。

如果是后者,如何以最少的内存分配来做到这一点?

c++
  • 1 个回答
  • 10 Views
Martin Hope
Alleksh _
Asked: 2020-11-28 05:42:23 +0000 UTC

不想初始化线程

  • 0

每个参数都是绝对正确的,但是由于某种原因在 std::invoke 中抛出了异常。
代码:
调用函数:

void AutoSendFunc(
bool& CloseThreads,
char* Request,
int delay,
void(*ProcessFunc)(request),
void(*sendRequest)(char*&, char*))
{
    while (!CloseThreads)
    {
        char* ptr;
        sendRequest(ptr, Request);
        ProcessFunc(request(std::string(ptr)));
        std::this_thread::sleep_for(std::chrono::milliseconds(delay));
        delete ptr;
    }
}

尝试调用线程:

void sendRequest(char*& recvdest, char*send)
{

}
...
std::vector<std::pair<
    std::pair
        <std::string,
        int>,
    void(*)(request)>> Requests;
...
#define Request Requests[i].first.first
        char* request = new char[Request.size()+1];
        memcpy(request, Request.c_str(), Request.size());
        request[Request.size()] = 0;
#undef Request
    std::thread thread
    (
        AutoSendFunc,
        CloseThreads,
        request,
        Requests[i].first.second,
        Requests[i].second,
        &sendRequest
    );

结论:

1>d:\mvs\ide\vc\tools\msvc\14.14.26428\include\thr\xthread(238): error C2672: "std::invoke": не найдена соответствующая перегруженная функция
1>d:\mvs\ide\vc\tools\msvc\14.14.26428\include\thr\xthread(246): note: выполняется компиляция ссылки на экземпляр шаблон функции "void std::_LaunchPad<_Target>::_Execute<0,1,2,3,4,5>(std::tuple<void (__cdecl *)(bool &,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)),bool,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)> &,std::integer_sequence<_Ty,0,1,2,3,4,5>)"
1>        with
1>        [
1>            _Target=std::unique_ptr<std::tuple<void (__cdecl *)(bool &,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)),bool,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)>,std::default_delete<std::tuple<void (__cdecl *)(bool &,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)),bool,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)>>>,
1>            _Ty=size_t
1>        ]
1>d:\mvs\ide\vc\tools\msvc\14.14.26428\include\thr\xthread(245): note: выполняется компиляция ссылки на экземпляр шаблон функции "void std::_LaunchPad<_Target>::_Execute<0,1,2,3,4,5>(std::tuple<void (__cdecl *)(bool &,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)),bool,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)> &,std::integer_sequence<_Ty,0,1,2,3,4,5>)"
1>        with
1>        [
1>            _Target=std::unique_ptr<std::tuple<void (__cdecl *)(bool &,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)),bool,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)>,std::default_delete<std::tuple<void (__cdecl *)(bool &,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)),bool,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)>>>,
1>            _Ty=size_t
1>        ]
1>d:\mvs\ide\vc\tools\msvc\14.14.26428\include\thr\xthread(242): note: при компиляции функции-члена "<Нет данных>" класса класс <Нет данных>
1>d:\mvs\ide\vc\tools\msvc\14.14.26428\include\thr\xthread(230): note: выполняется компиляция ссылки на экземпляр шаблон функции "void std::_LaunchPad<_Target>::_Run(std::_LaunchPad<_Target> *) noexcept"
1>        with
1>        [
1>            _Target=std::unique_ptr<std::tuple<void (__cdecl *)(bool &,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)),bool,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)>,std::default_delete<std::tuple<void (__cdecl *)(bool &,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)),bool,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)>>>
1>        ]
1>d:\mvs\ide\vc\tools\msvc\14.14.26428\include\thr\xthread(257): note: выполняется компиляция ссылки на экземпляр шаблон класс "std::_LaunchPad<_Target>"
1>        with
1>        [
1>            _Target=std::unique_ptr<std::tuple<void (__cdecl *)(bool &,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)),bool,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)>,std::default_delete<std::tuple<void (__cdecl *)(bool &,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)),bool,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)>>>
1>        ]
1>d:\mvs\ide\vc\tools\msvc\14.14.26428\include\thread(46): note: выполняется компиляция ссылки на экземпляр шаблон функции "void std::_Launch<std::unique_ptr<std::tuple<void (__cdecl *)(bool &,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)),bool,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)>,std::default_delete<_Ty>>>(_Thrd_t *,_Target &&)"
1>        with
1>        [
1>            _Ty=std::tuple<void (__cdecl *)(bool &,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)),bool,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)>,
1>            _Target=std::unique_ptr<std::tuple<void (__cdecl *)(bool &,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)),bool,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)>,std::default_delete<std::tuple<void (__cdecl *)(bool &,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)),bool,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)>>>
1>        ]
1>c:\users\alleksh\source\repos\netlib\netlib\netlib.h(152): note: выполняется компиляция ссылки на экземпляр шаблон функции "std::thread::thread<void(__cdecl &)(bool &,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *)),bool&,char*&,_Ty2&,void(__cdecl *&)(request),void(__cdecl *)(char *&,char *),void>(_Fn,bool &,char *&,_Ty2 &,void (__cdecl *&)(request),void (__cdecl *&&)(char *&,char *))"
1>        with
1>        [
1>            _Ty2=int,
1>            _Fn=void (__cdecl &)(bool &,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *))
1>        ]
1>d:\mvs\ide\vc\tools\msvc\14.14.26428\include\thr\xthread(237): error C2893: Сбой при специализации функции-шаблона "unknown-type std::invoke(_Callable &&,_Types &&...) noexcept(<expr>)"
1>d:\mvs\ide\vc\tools\msvc\14.14.26428\include\thr\xthread(237): note: Со следующими аргументами шаблона:
1>d:\mvs\ide\vc\tools\msvc\14.14.26428\include\thr\xthread(237): note: "_Callable=void (__cdecl *)(bool &,char *,int,void (__cdecl *)(request),void (__cdecl *)(char *&,char *))"
1>d:\mvs\ide\vc\tools\msvc\14.14.26428\include\thr\xthread(237): note: "_Types={bool, char *, int, void (__cdecl *)(request), void (__cdecl *)(char *&,char *)}"
c++
  • 1 个回答
  • 10 Views
Martin Hope
Alleksh _
Asked: 2020-03-23 01:20:40 +0000 UTC

如何让函数等到窗口中的工作完成 - Qt

  • 2

有这个代码:

bool Auth(int num)
{
Authentication AuthWindow;
AuthWindow.show();
if(AuthWindow.exec() == QDialog::Accepted)
{
    string login=AuthWindow.login,password=AuthWindow.password;
    if(!TryLogin(login,password))
        exit(EXIT_SUCCESS);
    AuthWindow.close();
    user(login, password);
    }else exit(EXIT_SUCCESS);
    return true;
}

当然是行不通的。
如何使功能等到授权窗口完成其工作?

c++
  • 1 个回答
  • 10 Views
Martin Hope
Alleksh _
Asked: 2020-03-14 06:21:02 +0000 UTC

如何从文件中读取和输出每一行?C++

  • 2

如何从文件中读取和输出每一行?
有这个代码:

ifstream log(Str+"\\log.txt");
do
   {
     string asd;
     getline(log,asd);
     cout << asd << endl;
   }while(???);
log.close();

但它当然行不通。

c++
  • 1 个回答
  • 10 Views
Martin Hope
Alleksh _
Asked: 2020-02-09 03:28:59 +0000 UTC

Qt版本是什么?

  • 1

我安装了Qt。

由于没有 Qt 版本,我无法创建项目。

该怎么办?

在此处输入图像描述

qt
  • 1 个回答
  • 10 Views
Martin Hope
Alleksh _
Asked: 2020-01-17 09:24:51 +0000 UTC

条件变量出错。C++

  • 0

此代码不起作用:

cond_var[myID].wait(unique_lock<mutex>(mtx[myID])); 

变量的声明是:

condition_variable cond_var[32];
mutex mtx[32];

什么 MVS 说: 在此处输入图像描述

c++
  • 1 个回答
  • 10 Views
Martin Hope
Alleksh _
Asked: 2020-01-14 04:35:11 +0000 UTC

应该创建4个值-适用于对象,但不适用于数字[关闭]

  • 0
关闭。这个问题需要澄清或补充细节。目前不接受回复。

想改进这个问题?通过编辑此帖子添加更多详细信息并澄清问题。

3年前关闭。

改进问题

创建了2个数组:

  1. 一组 Card 类对象 - 带有数字的表格。
  2. 该数组的主数,在本例中为 2 的幂。

应该生成4个值。适用于对象,但不适用于数字。

编码:

int* AllNumList;
int Cmin=0, Cmax=0;
void Game()
{
    bool end = 0;
    int numOfIterations = 0;
    int maxNum = 1;
    while (maxNum <= Cmax)
    {
        numOfIterations++;
        maxNum = pow(2, numOfIterations);
    }
    numOfIterations--;
    maxNum = pow(2, numOfIterations);
    Card* card = new Card [numOfIterations +1];
    AllNumList = new int [numOfIterations+1];
    for (int i = 0; i <= numOfIterations;i++)
    {
        AllNumList[i] = pow(2, i);
        card[i].AddGenNumber(pow(2, i));
    }
}

第一次循环迭代:

截屏

最后一次迭代:

截屏

c++
  • 1 个回答
  • 10 Views
Martin Hope
Alleksh _
Asked: 2020-01-13 18:03:01 +0000 UTC

如何在另一个文件夹中运行程序?- C++

  • 0

我有一个创建日志的函数。
无论我如何旋转 - 该文件都是在启动程序的文件夹中创建的。
我决定走另一条路,当我运行 .exe 时,如何使程序在另一个文件夹中工作?
MVS 将我的项目编译到 .exe 所在的 Debug 文件夹中,但日志出现在源文件夹中。

这是记录功能以防万一:

void CreateLogFile()
{
    ifstream logg;
    logg.open("latest.txt");//Открываем старый файл лога - latest.txt
    if (bla.is_open())//Если файл существует
    {
        string date;
        logg >> date;//В первой строке записана дата.
        date = date + ".txt";
        logg.close();
        const char * newfilename = date.c_str();
        rename("latest.txt", newfilename);//Переименовываем файл в [date].txt
    }
    logg.close();
    string asdlog = "[" + getTime(1) + "." + getTime(0) + "_" + getTime(2) + "-" + getTime(3) + "-" + getTime(4) + "]";
    //getTime обрабатывает и возвращает время
    asdlog += '\r';
    asdlog += '\n';//По другому не работает перенос строки.
    ofstream lg;
    lg.open("latest.txt");
    lg << asdlog;//Записываем на первую строку дату.
    lg.close();
}

它看起来像这样:http
://snap.ashampoo.com/JsChUMDW 日志看起来像这样:http ://snap.ashampoo.com/VvT8IsWE

c++
  • 1 个回答
  • 10 Views
Martin Hope
Alleksh _
Asked: 2020-01-11 15:47:52 +0000 UTC

如何更改指向对象的指针?- C++ [关闭]

  • 0
关闭 这个问题是题外话。目前不接受回复。

寻求调试帮助的问题(“为什么这段代码不起作用? ”)应该包括期望的行为、具体的问题或错误,以及在问题中重现它的最少代码。没有明确描述问题的问题对其他访问者毫无用处。请参阅如何创建一个最小的、独立的和可重现的示例。

4年前关闭。

改进问题

我创建了 2 个不同类的对象,以及一个指向某个对象的指针。 http://snap.ashampoo.com/El2QRRNh 如何创建指向可以根据所需形状更改的对象的指针? http://snap.ashampoo.com/g28QYe0T

c++
  • 1 个回答
  • 10 Views
Martin Hope
Alleksh _
Asked: 2020-12-25 23:52:55 +0000 UTC

如何在 C++ 中找到所需的字符串?

  • 1

例如,有一个文件lan.txt.
它说:

Rus.George
{
answer:
1.Здравствуй.
2.Бла-бла.
Dialog:
1.Здравствуй, путешественник.
2.Бла-бла.
}

Eng.George
{
answer:
1.Hello.
2.Bla-bla.
Dialog:
1.Hello, traveler.
2.Bla-bla.
}

一个问题的本质:
如何找到必要的行(例如Rus.George,然后拉出必要的文本)?

c++
  • 1 个回答
  • 10 Views
Martin Hope
Alleksh _
Asked: 2020-12-19 22:56:03 +0000 UTC

日志中的文本未显示在屏幕上

  • 1

由于不可能从一个程序中调用 2 个控制台,因此我在 game.exe 中编写了将日志保存到文件中,并且 log.exe 应该读取日志中的文本并将其显示在屏幕上。在 game.exe 中一切正常。问题在于阅读。那些。log.exe 不会在屏幕上显示任何内容。 在此处输入图像描述 正如您在屏幕截图中看到的那样,发生了变化(我按了 D)。 在此处输入图像描述 “RIGHT CALLED”已写入文件。但是控制台中什么都没有。日志.cpp:

#include "stdafx.h"
#include <string>
#include <iostream>
#include <Windows.h>
#include <ostream>
#include <fstream>

using namespace std;
int main()
{
    bool exit_=0;
    string x, previousX;
    ifstream bob("log.txt");
    while (!exit_) {
        bob >> x;
        if (x == "EXIT CALLED") { exit_ = 1; }
        if (x == previousX) { continue; }
        cout << x;
        previousX = x;
        Sleep(50);
    }
    return 0;
}
c++
  • 1 个回答
  • 10 Views
Martin Hope
Alleksh _
Asked: 2020-12-19 02:40:56 +0000 UTC

地图功能出错。C++

  • -1

你好。它给出了一个难以理解的错误,如何解决它?截图:在此处输入图像描述 这里是源代码:

string translator(string x, int language) {
    string Return;
    map <char, char> mapEng{{ 'q', 'й' },{ 'w', 'ц' },{ 'e', 'у' },{ 'r', 'к' },{ 't', 'е' },{ 'y', 'н' },{ 'u', 'г' },{ 'i', 'ш' },{ 'o', 'щ' },{ 'p', 'з' },{ 't', 'е' },{ '[', 'х' },{ ']', 'ъ' },
    { 'a', 'ф' },{ 's', 'ы' },{ 'd', 'в' },{ 'f', 'а' },{ 'g', 'п' },{ 'h', 'р' },{ 'j', 'о' },{ 'k', 'л' },{ 'l', 'д' },{ ';', 'ж' },{ '\'', 'э' },{ '\\', '\\' },
    { 'z', 'я' },{ 'x', 'ч' },{ 'c', 'с' },{ 'v', 'м' },{ 'b', 'и' },{ 'n', 'т' },{ 'm', 'ь' },{ ',', 'б' },{ '.', 'ю' },{ '/', '.' } };
    switch (language) {
    case 1:
        for (int i = 0; i < x.length(); i++) {
            char a = mapEng.find(x[i]);
            Return += a;
        }
    case 2: break;
    }
}
c++
  • 2 个回答
  • 10 Views
Martin Hope
Alleksh _
Asked: 2020-12-14 05:01:26 +0000 UTC

为什么编译器会抛出错误?C++

  • 3

你好。我不明白出了什么问题。包括所有库(SDL2.lib、SDL2main.lib)。一切都已初始化。为什么它不起作用?编译器输出:

> 1>SDL2main.lib(SDL_windows_main.obj) : error LNK2019: ссылка на
> неразрешенный внешний символ _SDL_main в функции _main_utf8
> 1>C:\Users\alleksh_\Desktop\cppprojects &
> backups\games\SDLGame\Debug\SDLGame.exe : fatal error LNK1120:
> неразрешенных внешних элементов: 1

这是源代码:

#include <iostream>
#include <SDL.h>
int main()
{
    if (SDL_Init(SDL_INIT_EVERYTHING) != 0) {return 1;}
    SDL_Window *win = SDL_CreateWindow("Hello World!", 100, 100, 640, 480, SDL_WINDOW_SHOWN);
    if (win == nullptr) {return 1;}
    return 0;
}
c++
  • 1 个回答
  • 10 Views
Martin Hope
Alleksh _
Asked: 2020-12-12 06:13:23 +0000 UTC

为什么会报错?- C++

  • 0

这是源代码:

#include "stdafx.h"
#include <string>
#include <Windows.h>
#include <iostream>
#include <vector>
using namespace std;
int main()
{
    std::string P, R;
    cin >> P >> R;
    vector<char> PMassive(P.begin(), P.end());
    vector<char> RMassive(R.begin(), R.end());
    int counter = 0;
    int counter2 = R.length();
metka:
    int counter3 = P.length();
    if (counter2 == 0) goto end;
    if (PMassive[counter3] == RMassive[counter2]) {
        counter2--;
        counter3--;
    }
    else if (counter2 != 0) { counter++; goto metka; }
end:
    std::cout << counter;




    Sleep(5000);
    return 0;
}

引发向量下标超出范围错误:http ://snap.ashampoo.com/biLxWrF4 问题是(PMassive[counter3] == RMassive[counter2])。我能做些什么来修复它?

c++
  • 2 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5