问题标签 [reference]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++ 中的引用计数
我正在用 C++ 实现一个数学库。该库将被编译为 DLL,因此使用它的人只需要类定义的头文件。
我的课程的用户将是刚接触这门语言的人。但是,有些对象可能会在其程序的几个部分中被引用。因为我不希望他们做内存管理,所以我想自己做。因此,我必须实现引用计数(垃圾收集是不可能的)。
我想让引用计数尽可能透明,例如......
当我定义曲面对象时,事情变得有点棘手,因为有些曲面是根据两条曲线定义的:
我认为覆盖operator =
指针可能会有所帮助:
...但后来我发现这operator =
是无效的,除非它是类的非静态成员。
有人可以帮助我吗?
c++ - WCF 服务问题的托管 C++ Web 参考
我开发了一个名为 CLSAPIService 的简单 WCF 服务,它的 Contract 包含一个名为 UpdateLastOpenCloseCall 的方法:
它的参数之一是一个简单的 DataContract:
然后我在 Visual .Net 2005 的托管 C++ 中创建了一个简单的测试项目,并为该服务创建了 Web 参考:
当 BusinessDataField 结构到达 WCF 方法时,似乎只有 Value 属性被更新,而 Name 属性是null
,即使我为它分配了一个值。
可能是什么问题呢?
.net - 未复制到输出目录的引用的依赖关系
我有一个 CommonUtils 库,我已经内置到一个 dll 中,我从我的几个项目中引用了它。CommonUtils 依赖于在构建 CommonUtils.dll 时设置为文件引用和 copy-local=true 的 log4net.dll。log4net.dll 和 CommonUtils.dll 不在 GAC 中。
在 MyWorkingProject 中一切正常,我只有一个对 CommonUtils.dll 的文件引用 - log4net.dll 显示在输出目录中(因为它是 CommonUtils.dll 的依赖项,但未从 MyWorkingProject 引用)。但是,如果我创建一个新项目来添加一些单元测试:MyWorkingProjectTest 和项目引用 MyWorkingProject,然后在此处再次文件引用 CommonUtils.dll(我想使用一些 CommonUtils)然后在构建 log4net.dll 时,它是两个项目的依赖项参考和文件参考也不会被复制到输出目录。
谁能澄清这里发生了什么?编译器是否不知道它应该抓取哪个 log4net.dll 文件?我在这里做错了什么吗?我应该以其他方式执行此操作以显式复制 log4net.dll 吗?我必须明确引用 log4net 是否有意义?
pointers - 引用与指针的执行速度
我最近阅读了关于托管语言是否比本地语言(特别是 C# 与 C++)慢(或快)的讨论。一位参与讨论的人说,托管语言的 JIT 编译器将能够对引用进行优化,这在使用指针的语言中是不可能的。
我想知道的是在引用而不是指针上可以进行什么样的优化?
请注意,讨论是关于执行速度,而不是内存使用。
asp.net - ASP.NET 网站的 BIN 目录和参考资料
想象一下以下解决方案:
- 网站 ABC.com(不是 Web 应用程序)
- BLL(单独程序集中的业务逻辑层)
- DTO(自己程序集中的 dto 对象)
DAL(它自己的程序集中的数据访问层)。
- BLL 引用了 DAL。
- BLL 具有对 DTO 层的引用。
- 网站项目引用了 BLL。
编译网站工程时,BIN目录下会出现以下DLL:
BLL.dll
DTO.dll
DAL.dll
当一个人去预览站点时,会发生一个错误,因为没有必要的程序集引用......现在如果右键单击网站项目,添加引用,并明确添加对缺少的程序集的引用,它会正常工作。
在我看来,ASP.NET 提取了在网站中添加/引用的引用程序集的引用程序集。
为什么需要对引用的引用添加显式引用...?抱歉,如果我的措辞不正确或令人困惑。
asp.net - 具有相同签名的网站上的程序集引用错误
我在 IIS 6 和 Windows Server 2003 上拥有多个 ASP.NET 2.0 网站。每个网站都引用了一些 DLL:设计、逻辑等。每个站点都位于不同的 ApplicationPool 上,具有关于回收技术的默认配置。
每个 DLL 都是强命名的(不延迟)并且有一个永不改变的版本(2.0.0.0),所有的 DLL 都放在 GAC 中。
在我更新 GAC 中的 DLL(即 MyLibrary.dll)后,该 DLL 在某些东西(方法、类..)中发生了变化,以便在网站“A”中使用,并且在仅回收“A”应用程序池之后,当我尝试访问引用相同 DLL 的网站“B”我得到关于该 DLL 的常见错误:
找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)
当然,DLL 中没有任何变化,而不是代码、相同的强键、相同的版本、文化。当然,错误在回收“B”应用程序池时消失了。
什么会产生奇怪的、随机的(我不得不说!)行为?还有更多的东西,比如散列,它用于比较程序集?
附录
- Perpetualcoder问我如何引用 DLL,如果有完整的限定名,我认为是,这里有一行 web.config:
装配="MyNamespace.MyComponent,版本=2.0.0.0,文化=中性,PublicKeyToken=1234567890ASDFGH"
.net - 关于IdeaBank的意见?
我是一名 PHP 开发人员,正在考虑实施IdeaBank的工作,这是用 .net 编写的创意管理软件。该软件似乎是根据其功能和客户选择的。OpenDNS 社区似乎正在使用它。
有人熟悉这个软件吗?定制和维护是什么感觉?你会推荐给其他程序员吗?
java - 关于 Java 垃圾收集器、空值和内存泄漏的问题
假设我在 java 中实现了一个队列,并且我有一个对初始节点的引用,称为 ini,另一个对最后一个节点,称为 last。现在,我开始将对象插入队列。在某一时刻,我决定我想要一个清除队列的操作。然后我这样做:
我在泄漏内存吗?我猜 ini 和 last 之间的节点仍然是链式的并且仍然有它们的数据,但同时还有垃圾收集器。
另一种方法是访问每个元素,然后将它们对下一个节点的引用设为空,但是我基本上会像在 C++ 中那样做,除了我不会显式使用删除。
visual-studio-2008 - 将非 GAC 引用添加到项目
每次我在我的 GAC 中的 Visual Studio 2008 中添加对 Web 项目的引用时,它都会将该引用添加为 GAC 引用,并且不会将文件复制到我的 bin 目录中。但出于部署目的,我想将引用添加为非 GAC 引用,以便将 dll 添加到我的 bin 目录中。我尝试使用浏览按钮选择引用而不是从列表窗口中选择,但这也添加了 GAC 引用。
这些引用都带有 .refresh 文件,并且在文件的属性中没有复制本地的选项。
请问有什么帮助吗?!?
c# - 'ref' 和 'out' 关键字有什么区别?
我正在创建一个函数,我需要在其中传递一个对象,以便该函数可以修改它。有什么区别:
和
我应该使用哪个,为什么?