Important Notice: Our web hosting provider recently started charging us for additional visits, which was unexpected. In response, we're seeking donations. Depending on the situation, we may explore different monetization options for our Community and Expert Contributors. It's crucial to provide more returns for their expertise and offer more Expert Validated Answers or AI Validated Answers. Learn more about our hosting issue here.

I got error message E282: “data section C166_DGROUP cannot be located in one page”. What must I do to get rid of it?

0
Posted

I got error message E282: “data section C166_DGROUP cannot be located in one page”. What must I do to get rid of it?

0

When compiling in large memory model, all objects defined which do not exceed a threshold size of 256 bytes, are put into a near data section in the default data group. When the accumulated default data of all modules exceeds 16K, the linker/locator will issue this error message. By definition, applications built with Large Data model can only have a single 16K data page of default near data. The solution is to decrease the size of the default data group. Here are some ways to do it and please note that these approaches can be combined to produce the desired effect: Decrease the default data Threshold value. EDE: in the Project Options | C Compiler | Allocation Variables dialog box, decrease the listed Threshold value. This will reduce the number of variables stored into default data. Command Line: use C166 compiler option -Tvalue to specify a new threshold value (default = 256). Explicitly exclude data objects from the default data group by defining/declaring them with the ‘far’ stora

Related Questions

What is your question?

*Sadly, we had to bring back ads too. Hopefully more targeted.

Experts123