将C代码从visual studio移动到linux

将C代码从visual studio移动到linux,c,gcc,C,Gcc,您好,我正在尝试对链接列表进行排序 当我对它进行排序时,它在VisualStudio上工作,但当我将它移动到linux时,由于某种原因,链表不会被排序。 my sorts获取指向列表指针的指针,这是我的排序代码: 我这样调用函数: SortQueue(&pprocessQueue,ProcessPrIdCompare) 这是我的函数 该函数使用排队顺序,将每个链接放在自己的位置 void SortQueue(Queue **pqueue, CompareFunction CompareElem

您好,我正在尝试对链接列表进行排序 当我对它进行排序时,它在VisualStudio上工作,但当我将它移动到linux时,由于某种原因,链表不会被排序。 my sorts获取指向列表指针的指针,这是我的排序代码: 我这样调用函数:
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上使用强制转换