小编Lev*_*evi的帖子

获取 FastAPI 并行处理请求

这是我的小fastapi应用程序:

from datetime import datetime
import asyncio

import uvicorn
from fastapi import FastAPI


app = FastAPI()

@app.get("/delayed")
async def get_delayed():
    started = datetime.now()
    print(f"Starting at: {started}")
    await asyncio.sleep(10)
    ended = datetime.now()
    print(f"Ending at: {ended}")
    return {"started": f"{started}", "ended": f"{ended}"}

if __name__ == "__main__":
    uvicorn.run("fastapitest.main:app", host="0.0.0.0", port=8000, reload=True, workers=2)
Run Code Online (Sandbox Code Playgroud)

当我连续两次调用它时,第二个函数中的代码直到第一个请求完成后才开始执行,产生如下输出:

Starting at: 2021-09-17 14:52:40.317915
Ending at: 2021-09-17 14:52:50.321557
INFO:     127.0.0.1:58539 - "GET /delayed HTTP/1.1" 200 OK
Starting at: 2021-09-17 14:52:50.328359
Ending at: 2021-09-17 14:53:00.333032
INFO:     127.0.0.1:58539 - "GET /delayed …
Run Code Online (Sandbox Code Playgroud)

python python-asyncio fastapi

6
推荐指数
1
解决办法
4494
查看次数

内存泄漏与unsigned char*

我有一个方法,我返回unsigned char *:

- (unsigned char *)calledMethod {
    ...
    unsigned char *result = (unsigned char*) calloc(size * 4, sizeof(unsigned char));
    ...
    return result;
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我调用这个方法时:

unsigned char *myVariable = [myClass calledMethod];
Run Code Online (Sandbox Code Playgroud)

我得到了内存泄漏.

我该如何释放记忆?

我已经尝试过free(myVariable),但没有用.如果我打电话给free(result)我的calledMethod方法,就没有泄漏,但是我不能回复它.提前致谢!

编辑:

问题是,我存储myVariable的是UIImage的像素数据(每个4个组件CGPoint:rgba).我必须修改一些像素并重建图像.我正在访问这样一个点的数据:

int byteIndex = (bytesPerRow * point.y) + point.x * bytesPerPixel;
CGFloat red   = (myVariable[byteIndex]     * 1.0) / 255.0;
CGFloat green = (myVariable[byteIndex + 1] * 1.0) / 255.0;
CGFloat blue  = (myVariable[byteIndex …
Run Code Online (Sandbox Code Playgroud)

objective-c ios

3
推荐指数
1
解决办法
754
查看次数

启动Visual Studio 2015生成的exe文件

我需要从VisualStudio 2015社区版开发的简单Windows 10通用应用程序中获取一个可运行的.exe文件.以前在使用Visual Studio 2012(或者可能是2013)的Windows 7 PC上工作,.exe位于MyProject/bin/x64/Debug,我能够运行它.

现在,使用Visual Studio 2015,我仍然可以找到.exe文件,但是当我尝试运行它时它会给我一个错误:

此应用程序只能在app容器的上下文中运行.

有没有一种方法可以导出可执行文件,而没有付费的开发者帐户?

win-universal-app visual-studio-2015

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

写入扩展文件属性

我正在尝试使用以下代码在文件头中写入一些数据(数据长度为 367 字节):

const char *attrName = [kAttributeForKey UTF8String];
const char *path = [filePath fileSystemRepresentation];

const uint8_t *myDataBytes = (const uint8_t*)[myData bytes];
int result = setxattr(path, attrName, myDataBytes, sizeof(myDataBytes), 0, 0);
Run Code Online (Sandbox Code Playgroud)

当我尝试阅读它时,结果有所不同:

const char *attrName = [kAttributeForKey UTF8String];
const char *path = [filePath fileSystemRepresentation];

int bufferLength = getxattr(path, attrName, NULL, 0, 0, 0);
char *buffer = malloc(bufferLength);
getxattr(path, attrName, buffer, bufferLength, 0, 0);

NSData *myData = [[NSData alloc] initWithBytes:buffer length:bufferLength];  
free(buffer);
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我如何才能完成这项工作吗?提前致谢。

objective-c ios

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