将C代码从visual studio移动到linux
您好,我正在尝试对链接列表进行排序 当我对它进行排序时,它在VisualStudio上工作,但当我将它移动到linux时,由于某种原因,链表不会被排序。 my sorts获取指向列表指针的指针,这是我的排序代码: 我这样调用函数:将C代码从visual studio移动到linux,c,gcc,C,Gcc,您好,我正在尝试对链接列表进行排序 当我对它进行排序时,它在VisualStudio上工作,但当我将它移动到linux时,由于某种原因,链表不会被排序。 my sorts获取指向列表指针的指针,这是我的排序代码: 我这样调用函数: SortQueue(&pprocessQueue,ProcessPrIdCompare) 这是我的函数 该函数使用排队顺序,将每个链接放在自己的位置 void SortQueue(Queue **pqueue, CompareFunction CompareElem
SortQueue(&pprocessQueue,ProcessPrIdCompare)代码>
这是我的函数
该函数使用排队顺序,将每个链接放在自己的位置
void SortQueue(Queue **pqueue, CompareFunction CompareElements)
{
Queue *ptemp = CreateQueue( (*pqueue)->CopyElement,
(*pqueue)->FreeElement,
CompareElements,
(*pqueue)->PrintElement );
(*pqueue)->CompareElements = CompareElements;
while (!(IsEmpty(*pqueue) == SUCCESS))
EnqueueInOrder(ptemp, DequeueLink(*pqueue));
while (!(IsEmpty(ptemp) == SUCCESS))
EnqueueInOrder(*pqueue, DequeueLink(ptemp));
FreeQueue(ptemp);
}
还有一件事我正在使用gcc进行编译。我看不出您的代码有什么问题。检查您向我们展示的代码之外的代码可能是明智的。请使用“101010”按钮格式化代码。也打败我吧!我认为问题出在你没有粘贴到这里的部分代码中。你的代码编译时没有警告吗:使用-ansi-pedantic-W-Wall-WERRORYEAE它编译时没有任何错误,但在linux中没有排序(在visual studio中它工作得很好)我发现了我的问题所在。。。无论如何,我没有在比较函数defention thx上使用强制转换