标签: programming-languages

如何构建像 Thunderbird 这样的应用程序?我应该选择哪种语言?

我不想构建 Thunderbird 功能。我只想建立一个具有插件功能、跨平台、易于安装的项目。有没有任何文档指出 Firefox 或 Thunderbird 的开发?

我知道 Thunderbird 是用 C++ 构建的,那么我怎样才能获得这些图形和所有其他功能。

请帮我。

c++ project-management programming-languages mozilla cross-platform

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

我们是继承接口还是实现接口?

到目前为止,我知道我们实现接口,但今天有人(你知道是谁,我猜)告诉我,如果我编写一个接口,那么我们在类中实现它,但如果它是一个系统接口,那么我们可以说,INotifyPropertyChanged我们称之为 A 类继承 Interface INotifyPropertyChanged

虽然我感觉是对的,但我不确定也不知道如何向他解释。

我需要在我的设计文档中指定。所以想知道我该提什么,继承还是实现。

c++ programming-languages interface

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

如何以编程方式禁用网络摄像头二极管

在我的笔记本电脑(戴尔)中,使用网络摄像头时会发出强烈的蓝色二极管光,这让我很恼火。

我正在考虑禁用它。你知道有什么库或方法可以关闭这个二极管灯吗?

c# c++ programming-languages winforms-interop

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

C编程问题使用STRCPY后无关变量被覆盖

问题是变量 nodeType 在 STRCPY 完成运行后被更改。nodeType 不是与 STRCPY 调用中使用的任何其他变量相关的变量。但它是在同一个结构中。nodeType 是一个 int 值为 3 的枚举。

以下信息可能是最相关的。我从枚举和结构中删除了大部分变量,因此它们不可见,我认为它们与问题无关。如果这有什么不同的话,我正在 VS2010 中编码。这是创建 btree 的作业的一部分,但我的问题与 btree 无关。

enum NODETYPE
{ 
  ROOTLEAF
};
typedef struct node
{
  char key[MAX_CHILDREN_ROOT][MAX_KEY_LENGTH];
  NODETYPE nodeType;
} nodeT;
Run Code Online (Sandbox Code Playgroud)

... insertElement 函数的一部分

for (int i = 0; i < (b->tempNode->numberOfKeys - b->searchData.position); i++)
{
  strcpy(b->tempNode->key[b->tempNode->numberOfKeys - i],  b->tempNode->key[b->tempNode->numberOfKeys - (i + 1)]);
}
Run Code Online (Sandbox Code Playgroud)

..我调用的函数是插入一个元素。在此之前我已多次调用该函数,但这是下面这段代码第一次运行。STRCPY 运行后,nodeType 的值为 1280070990。我将变量设置为要监视,而它出现 CXX0017 错误,我认为这仅意味着它不在范围内。

我查了号码 1280070990,它从各种引擎中产生了一堆与游戏相关的问题。我猜这是一个内存地址问题。

下面提供了解决方案。这是在数组边界之外写入的一个简单错误。我像这样分解旧代码,然后遍历它。这使我能够确定我在键数组键之外编写的问题。

        for (int i = 0; i < (b->tempNode->numberOfKeys - b->searchData.position); i++)
    { …
Run Code Online (Sandbox Code Playgroud)

c enums pointers programming-languages strcpy

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

C语言中非上下文无关语言的例子?

C 语言中有哪些非上下文无关语言的例子?C语言中如何存在以下非CFL?

a) L1 = {wcw|w 是 {a,b}*}

b) L2 = {a^nb^mc^nd^m| n,m >=1}

c grammar programming-languages context-free-grammar context-sensitive-grammar

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

C++和动态类型语言

今天我和一位朋友讨论了静态和动态类型语言之间的差异(有关静态和动态类型语言在这个SO问题中的区别的更多信息).之后,我想知道在C++中可以使用什么样的技巧来模拟这种动态行为.

在C++中,与其他静态类型语言一样,变量类型在编译时指定.例如,假设我必须从文件中读取大量数字,这些数字在大多数情况下非常小,足够小以适应unsigned short类型.这是一个棘手的问题,少量的这些值要大得多,大到足以需要unsigned long long存储.

由于我假设我要对所有这些进行计算,我希望它们都以相同的顺序存储在相同容器中的相同容器中,而不是从输入文件中读取它们..天真的方法是将它们存储在一个vector类型中unsigned long long,但这意味着通常最多需要4倍于实际需要的空间(unsigned short2个字节,unsigned long long8个字节).

在动态类型语言中,变量的类型在运行时被解释并被强制转换为适合的类型.如何在C++中实现类似的功能?

我的第一个想法是通过指针来做,根据它的大小我会用适当的类型存储数字.这有一个明显的缺点,即必须存储指针,但是因为我认为我还是要将它们存储在堆中,我认为这不重要.

我完全相信你们中的许多人能给我提供比这更好的解决方案......

#include <iostream>
#include <vector>
#include <limits>
#include <sstream>
#include <fstream>

int main() {
    std::ifstream f ("input_file");
    if (f.is_open()) {
        std::vector<void*> v;
        unsigned long long int num;
        while(f >> num) {
            if (num > std::numeric_limits<unsigned short>::max()) {
                v.push_back(new unsigned long long int(num));
            }
            else …
Run Code Online (Sandbox Code Playgroud)

c++ types valgrind programming-languages c++11

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

了解关于Agda的练习考试

我正在使用agda进行编程语言基础的练习考试,它有以下问题:

您将获得以下Agda声明:

data Even : N ? Set where
 ezero : Even 0
 esuc : { n : N }  ? Even n  ? Even (2+ n)
Run Code Online (Sandbox Code Playgroud)

假设已导入标准自然数库.回答以下的问题:

a)什么类型的ezero

b)是否有任何类型的条款Even 1

c)有多少个类型Even 2?列出他们

d)描述一个潜在的问题,如果我们改变esuc的返回类型Even (n+2)而不是Even (2+n).

我们没有提供解决方案手册.这个问题似乎很基本,但我不确定这些问题.我认为前三个的答案是:

一套

b)没有类型的条款偶数1

c)一个类型的偶数2

d)不知道

对这些问题的回答以及简要说明将受到高度赞赏.谢谢

programming-languages agda agda-mode

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

泛型类型参数的T,U,V约定来自何处?

的Java,C#和打字稿(亦称语言的太阳/ Hejlsberg家庭)使用T,U,V等来表示泛型类型参数.表面上看,因为T代表"类型",U并且V遵循T字母表.

在另一方面,Scala的使用A,B,C等,和OCaml中和Haskell使用a,bc.

这些惯例来自哪里?难道是因为函数式语言更接近数学证明,在那里?,??被用约定?


类似,但没有回答我的问题:C#泛型命名约定来自哪里?.

c# java generics programming-languages scala

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

何时在Rust中发生类型绑定?

据我所知:在C语言中,变量的"类型"在编译期间被绑定,并且该变量的值在运行时被绑定.

例如,在编译期间int a = 10;,类型int绑定到变量,并且在运行时a将实际值10绑定(或分配)给它.

但在Rust,我们有let a = 2;.这里,什么时候类型(比如i32Rust中的任何整数类型)被绑定a

我正在构建一个前端Rust编译器,目前正在编写解析器阶段.此时,我应该为这些变量分配什么类型?

computer-science programming-languages rust

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

在 C++ 中为全局变量赋值

我想知道为什么给全局变量赋值会导致错误

#include <iostream>

using namespace std;

int x = 5;
x = 3; // error: C++ requires a type specifier for all declarations
Run Code Online (Sandbox Code Playgroud)

我不是刚刚在上面的行中声明了吗?好吧,让我们看看 x 是否存在;

#include <iostream>

using namespace std;

int x = 5;
x = 3; // error: C++ requires a type specifier for all declarations
Run Code Online (Sandbox Code Playgroud)

好的,所以它确实同意 x 已定义,但类型“还不是”int。有人可以解释这种行为吗,你怎么称呼这种行为?它是怎么发生的?为什么这样设计?

c++ programming-languages

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