小编mas*_*ask的帖子

C++整数类型是给定类型宽度的两倍

在此示例中,coord_squared_t是整数类型的别名,其大小至少是整数类型的两倍coord_t:

typedef int_least32_t coord_t;

coord_squared_t CalculateSquaredHypothenuse(coord_t x, coord_t y){
    coord_squared_t _x=x;
    coord_squared_t _y=y;
    return _x*_x+_y*_y;
}
Run Code Online (Sandbox Code Playgroud)

什么可以用来表现coord_squared_t在以下方面coord_t?标准库中是否有任何东西可以让我做一些像double_width<coord_t>::type获得正确宽度的东西,而不是明确选择类型?

C++ 11或C++ 14很好.

c++ std c++11

15
推荐指数
2
解决办法
1520
查看次数

PyInstaller 和 FastAPI(超过最大递归深度)

我有一个使用fastapi作为 Web 界面的 python 服务。我需要制作一个可执行文件,因此我正在使用PyInstaller

我不断收到以下错误:

File "..../miniconda3/lib/python3.7/site-packages/PyInstaller/lib/modulegraph/modulegraph.py", line 2912, in _load_package
    self._load_module(fqname, fp, buf, stuff)
File "..../miniconda3/lib/python3.7/site-packages/PyInstaller/lib/modulegraph/modulegraph.py", line 2093, in _load_module
    m = self._load_package(fqname, pathname, packagepath)

RecursionError: maximum recursion depth exceeded while calling a Python object
Run Code Online (Sandbox Code Playgroud)

我添加import sys; sys.setrecursionlimit(50000)到原始 python 文件以及规范中,但仍然遇到相同的问题。

有趣的是,如果我不使用fastapi(例如它与 Flask 一起使用),我就不会收到该错误。看起来 PyInstaller 对 fastapi 有一些问题。

有人知道如何解决这个问题吗?

这是我的主要 python 函数中的代码:

from fastapi import FastAPI
import uvicorn
app = FastAPI()

if __name__ == "__main__":
    uvicorn.run("main:app", host="0.0.0.0", workers=1, port=5000)
Run Code Online (Sandbox Code Playgroud)

python pyinstaller fastapi

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

C++ tolower/toupper char指针

你们知道为什么下面的代码在运行时崩溃了吗?

char* word;
word = new char[20];
word = "HeLlo"; 
for (auto it = word; it != NULL; it++){        
    *it = (char) tolower(*it);
Run Code Online (Sandbox Code Playgroud)

我正在尝试小写char*(字符串).我正在使用visual studio.

谢谢

c++ char-pointer toupper tolower

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

标签 统计

c++ ×2

c++11 ×1

char-pointer ×1

fastapi ×1

pyinstaller ×1

python ×1

std ×1

tolower ×1

toupper ×1