草庐IT

hb_internal

全部标签

c++ - Windows、Cygwin 上对 `hb_ft_font_create' 的 undefined reference

当我尝试在Windows上使用Cygwin和EclipseCDT编译我的程序时出现以下错误。undefinedreferenceto`hb_ft_font_create'我认为这是由-l参数的顺序引起的。基本上这个功能依赖于Freetype2,但是Freetype2的autohinter也依赖于Harfbuzz。这使它成为一个循环依赖问题。如果我颠倒-lharfbuzz和-lfreetype之间的顺序,则会出现另一组错误,其中包含对其他一堆harfbuzz函数(不包括hb_ft_font_create)的undefinedreference。那么我该如何解决undefinedrefer

C++ 库 "internal use only"编码风格

我正在用C++编写一个库。所有类和全局函数都在mylibrary命名空间内声明。我需要创建一些仅供内部使用的类:使用这个库的人应该立即注意到哪些类不打算在库外使用。不幸的是,我不能使用私有(private)函数,因为这会弄乱所有封装。我不能使用私有(private)类,因为内部类必须由同一个库中的“普通”类访问。我想这样做的一个好方法是创建命名空间mylibrary::internal并将所有“私有(private)”内容放入其中。这是正确的方法吗?还有其他常见的方法吗? 最佳答案 为您的内部功能使用匿名命名空间。这将确保没有外部代

c++ - "internal linkage"是什么意思?

在标准中它说:Whenanamehasinternallinkage,theentityitdenotescanbereferredtobynamesfromotherscopesinthesametranslationunit.和:Anamehavingnamespacescope(3.3.6)hasinternallinkageifitisthenameof—avariable,functionorfunctiontemplatethatisexplicitlydeclaredstatic;因此请考虑以下代码:#includenamespaceA{/*awithinternalli

c++ - 分配器 : how are the standard containers expected to work internally?

作为这个问题的示例,我将使用std::vector。它的定义来自documentation如下:template>class vector;正如预期的那样,如果T是它的类型,分配器应该偏向于T。总之,下面的代码编译没有错误(至少,使用GCC)并运行:#include#include#includestructS{inti;doubled;std::strings;};intmain(){std::allocatoralloc;std::vector>v{alloc};v.push_back(S{});}在这里,我通过使用专注于int的分配器创建vector的S。它是合法的代码吗?我应该

c++ - 具有负大小的 Google Mock testing::internal::ReturnAction<R> 数组

我有测试代码可以做类似的事情EXPECT_CALL(mock,getSomeString()).WillOnce(Return(&testString));其中getSomeString()通过引用返回:std:string&getSomeString();得到../../../../src/test/unit/gmock/gmock-actions.h:Inmemberfunction‘testing::internal::ReturnAction::operatortesting::Action()const[withF=conststd::string&(),R=std::bas

c++ - C++ 引用是否保证使用指针 "internally"?

查看C++中的引用,我注意到我查看的所有实现都在内部使用了一个指针。C++标准是否保证引用将在内部使用指针,或者实现是否可以使用更“高效”的解决方案?(我目前看不出如何“更好”地完成它,因为当创建一个新的堆栈框架时,并没有真正可靠的方法来轻松地知道被引用的变量与堆栈基指针的偏移量是多少,因为堆栈非常有活力)注意:我确实理解C++中指针和引用之间的区别(这个问题与此无关) 最佳答案 如果您的意思是引用需要编译器为指针分配存储空间,那么这是未指定的。§8.3.2/4Itisunspecifiedwhetherornotareferenc

C++ fatal error C1001 : An internal error has occurred in the compiler

在Release模式下编译时出现以下错误。1>d:\users\eyal\projects\code\yalla\core\src\runbox\win32\window.cpp:fatalerrorC1001:Aninternalerrorhasoccurredinthecompiler.1>(compilerfile'f:\dd\vctools\compiler\utc\src\p2\main.c',line249)1>Toworkaroundthisproblem,trysimplifyingorchangingtheprogramnearthelocationslistedab

c++ - mock_method 上的 gmock 编译错误(在 testing::internal::FunctionMocker 中)

当我尝试模拟一个函数时,我遇到了一些奇怪的编译错误。编译器提示复制构造函数有问题。代码片段:classdb_key{public:db_key(void){}explicitdb_key(constchar*buf){}~db_key(void){}};classbar_A{public:explicitbar_A(constdb_key&key):m_key(key){}virtual~bar_A(void){}constdb_key&dbkey(void)const{returnm_key;}private:constdb_keym_key;};classbar_B:bar_A{p

c++ - C1001 : An internal error has occurred in the compiler

这应该是不言自明的。我正在尝试实现分布排序,但MSVC编译器崩溃了。这似乎是用我的SFINAE检测成员函数的特定情况,如果我不将indexert传递给函数,或者替换has_get_index,这似乎不会发生。如果我删除剩余的索引器重载中的任何一个,它也不会发生。如果sortable有一个getIndex()const成员,问题仍然存在。1>test.cpp(34):fatalerrorC1001:Aninternalerrorhasoccurredinthecompiler.1>(compilerfile'msc1.cpp',line1420)1>Toworkaroundthispro

java Internal error in the mapping processor java.lang.NullPointerException解决方法

javaInternalerrorinthemappingprocessorjava.lang.NullPointerExceptionjava:Internalerrorinthemappingprocessor:java.lang.NullPointerExceptionatorg.mapstruct.ap.internal.processor.DefaultVersionInformation.createManifestUrl(DefaultVersionInformation.java:180)atorg.mapstruct.ap.internal.processor.Default