小编Jan*_*man的帖子

我在哪里可以学习DirectX编程?

我想在C++编程中学习DirectX.我决定学习DirectX,所以我在网上找到了一些教程,但它们都很复杂,很难理解.我在教程上花了3天时间,我已经阅读了所有内容,但我仍然无法创建初始化DirectX的程序.我认为这很难学习.

任何人都可以推荐一本好的教程/书吗?

c++ directx

22
推荐指数
2
解决办法
4万
查看次数

使用C++进行文件压缩

我想制作自己的文本文件压缩程序.我对C++编程知之甚少,但我已经学会了所有基础知识并编写/读取文件.我在google上搜索了很多关于压缩的内容,并且看到了许多不同类型的方法来压缩像LZW和Huffman这样的文件.问题是他们中的大多数没有源代码,或者他们有一个非常复杂的源代码.我想问你是否知道我可以学习的任何好的网页并自己制作压缩程序?

编辑:我会让这个话题开放一段时间,因为我打算在接下来的几天里研究这个问题,如果我有任何问题,我会在这里问他们.

c++ compression

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

Bootloader在真实硬件上打印垃圾

我正在尝试编写自己的bootloader.虽然它在QEMU,Bochs和VirtualBox中运行良好,但我似乎无法在笔记本电脑上运行.

在我的笔记本电脑上,引导加载程序与所有模拟器的行为完全不同,挂起看似随机的地方,拒绝打印,甚至跳过一些jmp $指令.

虽然我对"真实硬件"有很多麻烦,但我认为它们都有一个原因.

以下代码是一个短引导加载程序,应该打印"TEST"消息3次,然后跳转到同一位置挂起:

[BITS 16]                                                                          
[ORG 0x7C00]                                                                                                    
    jmp 0x0000:start_16  ; In case bootloader is at 0x07C0:0x0000                                                             
start_16:                                                                          
    xor ax, ax                                                                 
    mov ds, ax                                                                 
    mov es, ax                                                                 
    cli                             ; Disable interrupts                       
    mov ss, ax                                                                 
    mov sp, 0x7C00                                                             
    sti                             ; Enable interrupts                        
    cld                             ; Clear Direction Flag                     
    ; Store the drive number                                                   
    mov [drive_number], dl                                                     
    ; Print message(s)                                                         
    mov si, msg                                                                
    call print_string                                                          
    mov si, msg                                                                
    call print_string                                                          
    mov si, msg                                                                
    call print_string                                                          

    jmp $   ; HALT                                                                                   

; …
Run Code Online (Sandbox Code Playgroud)

x86 assembly bios osdev bootloader

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

我可以在Visual Basic中使用C++函数吗?

我对编程很陌生,但我已经为计算二次方程等数学问题做了很好的库.现在我遇到了一个朋友,他在VB中编程了一点,我们在想是否可以将我的函数从C++导入到他的代码中,这样他就可以在需要时调用它们,这样我们就可以编写一个计算器了?我们怎么做?

  • Janman

编辑:我的朋友正在使用VB.net编辑:我的图书馆是按免费功能组织的.

c++ vb.net

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

为什么我的简单XOR加密程序不能正确转换字符,为什么它最后会添加更多字符?

我正在制作一个基于XOR的en/decryptor,就像这样工作.你有一个明文字符,例如3,和一个用户密钥,例如5.写入位:

3 = 00000011

5 = 00000101
Run Code Online (Sandbox Code Playgroud)

现在,如果我们进行XOR操作,我们得到6:

6 = 00000110
Run Code Online (Sandbox Code Playgroud)

这可以通过说6 XOR 5(即3)来反转.

所以我做了这个程序.但它确实有错误,它不会正确翻译文本,并且它会在文件的末尾添加许多字符,具体取决于您使用的是哪个键.

using namespace std;
int main(int argc, char *argv[])
{
    char buffer[5001]; 
    ifstream fin("a.txt", ifstream::in);
    ofstream fout("b.txt");
    int key;
    char znak;

    // console    
    cout << "Key: ";
    cin >> key;
    fin.get(znak);
    while(!fin.eof() && znak != ' ')
    {
       fin.get(buffer, sizeof(buffer));     
    }

    for(int i = 0; i < sizeof(buffer); i++)
    {
       fout << function(key, buffer[i]);
    }

    cout << "done" << endl;

    cin.get();
    return 0;
}

char function(int …
Run Code Online (Sandbox Code Playgroud)

c++ encryption xor

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

标签 统计

c++ ×4

assembly ×1

bios ×1

bootloader ×1

compression ×1

directx ×1

encryption ×1

osdev ×1

vb.net ×1

x86 ×1

xor ×1