小编BJu*_*ury的帖子

Git 错误:[远程拒绝] master -> master(缺少必要的对象)

我有一个相当令人担忧的 git 问题。

几天前,当服务器 git 蓝屏时,我正在提交一些更改。(我们认为它实际上是由 git 引起的。)

从那以后,我无法向存储库提交任何更改,而其他人可以。当服务器崩溃时,我无法再提交对我正在提交的文件的更改,但是我可以提交对其他文件的更改。

我尝试创建一个新目录并克隆到其中。以及git stash, git pull --rebase, git stash apply.

无论如何,当我现在尝试提交服务器蓝屏时提交的文件时,服务器返回错误:

$ git push -v
Pushing to http://bjury1@server:7990/scm/project.get
Counting objects: 13, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 745 bytes | 0 bytes/s, done.
Total 7 (delta 6), reused 0 (delta 0)
POST git-receive-pack (881 bytes)
To http://bjury1@server:7990/scm/project.get
 ! [remote rejected] master -> master (missing necessary objects)
error: …
Run Code Online (Sandbox Code Playgroud)

git github-for-windows bitbucket-server

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

在 C# 中创建内存对齐数组

我需要创建一个与 64 字节边界对齐的数组。我需要这样做,因为我正在调用一个使用AVX的 DLL ,这需要对齐数据。本质上我需要在 C# 中执行此操作:

void* ptr = _aligned_malloc(64 * 1024, 64);
int8_t* memory_ptr = (int8_t*)ptr;
Run Code Online (Sandbox Code Playgroud)

我很确定我无法在 C# 中自然地创建这样一个边界的数组。因此,一种选择是创建一个 x+64 长的字节数组,然后“创建”一个覆盖它的数组,但在所需边界处有一个偏移量。

问题是如何实现这一点,并且不会出现内存泄漏?(内存泄漏是我不想使用 DLL 创建对数组的引用并将其传递给 C# 的原因。除非有一个好的方法可以这样做?)


使用下面有用的答案,这就是我所拥有的,希望它对其他人有帮助:

public class Example : IDisposable
{
    private ulong memory_ptr;

    public unsafe Example() 
    {
        memory_ptr = (ulong)NativeMemory.AlignedAlloc(0x10000, 64);
    }

    public unsafe Span<byte> Memory => new Span<byte>((void*)memory_ptr, 0x10000);

    public unsafe void Dispose()
    {
        NativeMemory.Free((void*)memory_ptr);
    }
}
Run Code Online (Sandbox Code Playgroud)

c#

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

标签 统计

bitbucket-server ×1

c# ×1

git ×1

github-for-windows ×1